关于秋素数的小疑惑!
#include <iostream>#include <cmath>
#include <iomanip>
using namespace std;
int main( )
{int m,k,i,n=0;
bool prime; //定义布尔变量prime
for(m=101;m<=200;m=m+2) //判别m是否为素数,m由101变化到200,增量为2
{prime=true; //循环开始时设prime为真,即先认为m为素数
k=int(sqrt(m)); //用k代表根号m的整数部分
for(i=2;i<=k;i++) //此循环的作用是将m被2~根号m除,检查是否能整除
if(m%i==0) //如果能整除,表示m不是素数
{ prime=false; //使prime变为假
break; //终止执行本循环
}
if (prime) //如果m为素数
{cout<<setw(5)<<m; //输出素数m,字段宽度为5
n=n+1; //n用来累计输出素数的个数
}
if(n%10==0) cout<<endl; //输出10个数后换行
}
cout<<endl; //最后执行一次换行
return 0;
}
这个是一求素数的程序,有几个地方不明白
特来请教各位大大一下!
为什么这里求素数使用了布尔值类型的变量,这样做有什么好处啊!~
很想明白!!