C++程序设计:计算并输出100-200之间的所有素数的平方根之和 谢谢啦~~~

如题所述

用一个循环遍历考察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;
}

运行结果如图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-01
#include<stdio.h>
#include<math.h>
int isprime(int n){
int i;
for(i=2;i<=sqrt(n);i++){
if(n % i==0)
return 0;
}
return 1;
}
int main()
{
int i;
double s=0;
for(i=101;i<200;i+=2){
if(isprime(i))
s+=sqrt(i);
}
printf("%lf\n",s);
return 0;
}
相似回答