由于100~200间的素数都是奇数,所以可设置一个循环遍历其间的奇数,再考察它们是否有1和自身以外的因子,若无此因子则是素数,输出并计数,最后输出素数个数。代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
for(int t=0,i=101;i<200;i+=2){//遍历100~200间的奇数
for(int n=3;n*n<=i;n+=2)//考察这些数是否有1和自身以外的因子
if(i%n==0)
break;
if(i<n*n){//无上述因子则是素数
cout << i << ' ';//输出这个素数
t++;//素数个数计数
}
}
cout << "\n\nA total of " << t << " prime number above\n\n";
return 0;
}
运行结果如下: