用一个循环遍历考察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;
}
运行结果如图: