2022年C程序设计经典程序举例 .pdf
《2022年C程序设计经典程序举例 .pdf》由会员分享,可在线阅读,更多相关《2022年C程序设计经典程序举例 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C程序设计经典程序举例1、判断素数(循环、利用算法减少运算次数)例: 1159:质因数分解正整数 n 是两个不同质数的乘积,试求出其中较大的。#include #include int main() long long n,big; int small; int root,i,j; scanf(%lld,&n); for(small=2;small=(int)sqrt(n);) / 素数判断过程,从最小素数开始root=(int)sqrt(small); for(i=2;i=root+1;i+) if(small%i=0)break; if(i=root) if(small=2)small+;
2、 else small+=2; / 只判断 2 和奇数,减少运算次数continue; if(n%small=0) big=n/small; root=(int)sqrt(big); for(i=2;i=root+1;i+) if(big%i=0)break; if(i=root) if(small=2)small+; else small+=2; continue; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - else b
3、reak; / 得到最大质因数,跳出循环 printf(%d %lld,small,big); return 0; 2、递归与回溯算法(解决尝试性问题,每一级都对下一级有影响)例: 1085:0/1 迷宫问题给定一个由0(表示墙壁)和1(表示道路)的迷宫,请你判断进入迷宫后,仅通过横向和纵向的行走是否能从迷宫中走出来,即能否从坐标(1,1)走到( n,m)。#include #include int starti,startj; int endi,endj; / 定义迷宫起止点int success=0; / 用于判断是否成功通路int main() int visit(int i,int j
4、,int maze10); int i,j; int n,m; int maze1010; scanf(%d %d,&n,&m); for(i=1;i=n;i+) for(j=1;j=m;j+) scanf(%d,&mazeij); starti=1,startj=1,endi=n,endj=m; if(visit(starti,startj,maze)=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - printf(NO)
5、; else printf(YES); return 0; int visit(int i,int j,int maze10) mazeij=-1; / 安全性判断已经经过的路if(i=endi&j=endj) success=1; / 成功到达终点 / 进行四个方向的尝试if(success!=1&mazeij+1=1) visit(i,j+1,maze); if(success!=1&mazei+1j=1) visit(i+1,j,maze); if(success!=1&mazei-1j=1) visit(i-1,j,maze); if(success!=1&mazeij-1=1) vi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C程序设计经典程序举例 2022 程序设计 经典 程序 举例
限制150内