课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【项目3- 有趣的数字】先阅读例题,体会处理数字的一般方法,然后自行选题进行解决,掌握这种类型程序设计的一般方法。
任务:解决下面的问题(选做一道即算完成任务)
(1)输入一个正整数,判断其是否为一个素数。(注:判断素数还有不少优秀的高效率算法,本文只采用了理解上最简单的方法,没有引导读者掌握那些算法,实在罪过,请读者自行研究求素数算法。)
#include<iostream> #include<cmath> using namespace std; int main() { int i,m,k; bool prime=true; cin>>m; k=int(sqrt(m)); for(i=2;i<=k;i++) //最多循环至…… { if(m%i==0) { prime=false; break; } } if(prime) cout<<m<<"是素数!"<<endl; else cout<<m<<"不是素数!"<<endl; return 0; }运行结果
不用专门变量的方法:
#include<iostream> #include<cmath> using namespace std; int main() { //bool prime=true; //本例中要演示的是,并非一定要用prime这个变量 int i,k,m; cin>>m; k=int(sqrt(m)); for(i=2;i<=k;i++) { if(m%i==0) { //prime=false; break; //如果由break跳出循环,i<=k一定成立 } } if(i>k) //此处i>k,一定不是通过break退出循环,而是由于for循环条件限制退出 cout<<m<<"是素数!"<<endl; else cout<<m<<"不是素数!"<<endl; return 0; }