素數(shù)就是質(zhì)數(shù),就是只能被1整除,不能被其他數(shù)整除的數(shù)
java程序為:
public static void main(String[] args) {
//程序打印出從100到200的所有素數(shù)并求和;
int Sum = 0;
for (int i = 100; i <= 200; i++) {
boolean flag = true;
/*內(nèi)嵌了一個for循環(huán),作用是用100到200之間的每一個數(shù),從2一直除到它本身,如果等于0的話,那么就不屬于素數(shù),就把flag置為false*/
for (int j = 2; j <= i - 1; j++) {
if (i % j == 0)
flag = false;
}
if (flag) {//只有當(dāng)flag為true的時候,才會這里走。
Sum = Sum + i;//每一次循環(huán)都讓sum加上這個素數(shù)i,然后重新賦值給sum
System.out.print(i+",");
}
}
System.out.println("所有素數(shù)總和為:"+Sum);
}
網(wǎng)友寫的版本為:
#include <iostream.h>
//程序打印出從100到200的所有素數(shù)并求和;
void main()
{
cout<<"100-200之間的所有素數(shù)為:"<<endl; /*這是提示語句,沒有實際作用;*/
int k=0; //在主程序中定義了一個整型變量k,用來存放下載所有質(zhì)數(shù)的和,默認值是0;
/*下面的是雙FOR循環(huán),外面的循環(huán)從100開始,以步進為1,遞增到200,判斷這之間的每一個數(shù)是否為質(zhì)數(shù)*/
for (int i=100;i<=200;i++)
{
int m=0;/*m是計數(shù)器,它的作用很重要,每循環(huán)一次,它要自動清零,做好下次計數(shù)的準備*/
/*內(nèi)嵌了一個for循環(huán),作用是用100到200之間的每一個數(shù),從1一直除到它本身,比如第一個數(shù)100,從1開始除,一直
除到它本身*/
for (int a=1;a<=i;a++)
{
/*每除一次,如果余數(shù)為0,那么計數(shù)器m的值自增加1*/
if(i%a==0) m++;
}
/*經(jīng)過了一次循環(huán),結(jié)果出來了,如果m的值為2,這就說明了這個數(shù)只能被1和它本身整除,
這個就是質(zhì)量數(shù)了.接著把這個數(shù)打印出來,后面還根了一個k+=i;語句,這是把每一個得出的質(zhì)數(shù)
自加,并賦給k本身,以便求出這些質(zhì)數(shù)的和*/
if(m==2){ cout<<i<<" ";k+=i;}
}
cout<<endl;
cout<<"這些素數(shù)的和為:"<<k<<endl;/*這里就得出了所有求得的質(zhì)數(shù)的和了,也就是k最終的值*/
}
所有的質(zhì)數(shù)為:101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199
所有素數(shù)總和為:3167