【项目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;
}

运行结果

C++第11周项目3(1)——判断素数_#include

不用专门变量的方法:

#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;
}