int main(){ int i,j,k;float s=0;for(i=101;i<200;i+=2){ k=1;for(j=2;j<=sqrt(i);j++)if(i%j==0){k=0; break;} if(k)s+=sqrt(i);} printf("%f\n",s);system("pause");}
用一个循环遍历考察100~200间的奇数,再用一个3到被考察数的平方根(向上取整)的奇数循环去除被考察数,都不能整除的则为素数,累加其平方求和;能被其一整除的则不是素数,直接跳过。代码如下://#include "stdafx.h"//If the vc++6.0, with this line.#include <iostream>using namespace std...
使用一个 isPrime() 函数来判断一个数是否为素数,然后在 main() 函数中循环遍历100到200之间的数,调用 isPrime() 函数判断每个数是否为素数,并将素数累加到变量 s 中。最后使用 printf() 函数输出素数的和。输出格式使用了 printf() 函数的格式化输出,将素数的和作为整数输出到标准输出。 代码为: #include <...
前面的m=0是一个标志(flag),而m=0说明这个数是一个素数.所以要sum=sum+n进行累加,要求和嘛
再加上100-200之间素数个位数相加的和94,最终的总和为2194。这个结果与原问题中的2100+10+70+100+160+190+10+40+94+130+170=3074略有不同,可能是因为在计算过程中采用了不同的方法和步骤。
clea b=0 for a=100 to 200 n=int(sqrt(a))for i=3 to n if mod(a,i)=0 exit endi endf if i>n b=b+a endi endf ?"b=",b 首先要知道什么是素数咯,这个不必多说吧.要判断一个数a是否是素数,最直观的方法是:用100到(a-1)的各个整数一个一个去除a ,如果都除不尽,a就是...
m),其中没有出现整除的情况那么这个数就是质数。第二空的意思是结束本循环。即:当出现m可以整除2到sqrt(m)中任何一个数时,就判定个m不是质数,跳出这次循环,然后m+1,再次进行判定。第三空的意思是当出现i>k情况还没有出现m整除k时,则判定m为质数,进行累加。
for a=100 to 200 n=int(sqrt(a))for i=3 to nif mod(a,i)=0exitendiendfif i>nb=b+aendiendf?"b=",b首先要知道什么是素数咯,这个不必多说吧.要判断一个数a是否是素数,最直观的方法是:用100到(a-1)的各个整数一个一个去除a ,如果都除不尽,a就是素数.那么只要有一整除,a就不是素数....
从200开始往前一个个找,前10个和累加
#includeint isprine(int n){int i,flag;flag = 1;for(i=2;i<=n/2;i++){if(n%i==0){flag = 0;break;}}if ( flag == 1 ){printf("%d ",n);return 1;}elsereturn 0;}int main(){int i,j=0,k;for(i=100;i<=200;i++){if(isprine(i))j=j+i;}printf("sum=%d",j);}反...