用一个循环遍历考察100~200间的奇数,再用一个3到被考察数的平方根(向上取整)的奇数循环去除被考察数,都不能整除的则为素数,累加其平方求和;能被其一整除的则不是素数,直接跳过。代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
for(int s=0,i=101;i<200;i+=2){//遍历100~200间的奇数
for(int j=3;j*j<=i;j+=2)//考察这些奇数是不是素数
if(!(i%j))
break;
if(j*j>i)//没有大于1小于其平方根的因数的判为素数
s+=i*i;//求素数平方之和
}
cout << "The result is " << s << endl;
return 0;
}
运行结果如图:
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/c83d70cf3bc79f3dee5d7093b0a1cd11738b29d0?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)