java 素数求和,100-200之间所有素数求和程序代码(二个版本)

素数就是质数,就是只能被1整除,不能被其他数整除的数

java程序为:

复制代码代码如下:

public static void main(String[] args) {

//程序打印出从100到200的所有素数并求和;

int Sum = 0;

for (int i = 100; i <= 200; i++) {

boolean flag = true;

/*内嵌了一个for循环,作用是用100到200之间的每一个数,从2一直除到它本身,如果等于0的话,那么就不属于素数,就把flag置为false*/

for (int j = 2; j <= i - 1; j++) {

if (i % j == 0)

flag = false;

}

if (flag) {//只有当flag为true的时候,才会这里走。

Sum = Sum + i;//每一次循环都让sum加上这个素数i,然后重新赋值给sum

System.out.print(i+",");

}

}

System.out.println("所有素数总和为:"+Sum);

}

网友写的版本为:

复制代码代码如下:

#include

//程序打印出从100到200的所有素数并求和;

void main()

{

cout<

int k=0; //在主程序中定义了一个整型变量k,用来存放下载所有质数的和,默认值是0;

/*下面的是双FOR循环,外面的循环从100开始,以步进为1,递增到200,判断这之间的每一个数是否为质数*/

for (int i=100;i<=200;i++)

{

int m=0;/*m是计数器,它的作用很重要,每循环一次,它要自动清零,做好下次计数的准备*/

/*内嵌了一个for循环,作用是用100到200之间的每一个数,从1一直除到它本身,比如第一个数100,从1开始除,一直

除到它本身*/

for (int a=1;a<=i;a++)

{

/*每除一次,如果余数为0,那么计数器m的值自增加1*/

if(i%a==0) m++;

}

/*经过了一次循环,结果出来了,如果m的值为2,这就说明了这个数只能被1和它本身整除,

这个就是质量数了.接着把这个数打印出来,后面还根了一个k+=i;语句,这是把每一个得出的质数

自加,并赋给k本身,以便求出这些质数的和*/

if(m==2){ cout<

}

cout<

cout<

}

所有的质数为:101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199

所有素数总和为:3167

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值