用java程序求出1到10000之间质数的和,并说出为什么要这样编写。

用java程序求出1到10000之间质数的和,并说出为什么要这样编写。,第1张

因为质数是一个正整数不能被除了1和自身以外的数整除,就叫做质数(1不是质数)

所以根据定义从2到10000,每个数除以2到其自身减1的数,如果能被整除(等于0)则不是质数,否则就是质数

完整的Java程序如下(每句都加了注释)

public class SuShuHe{

public static void main(String[] args){

int sum=0,j//定义整型变量j,整型变量sum用于存放质数和,并赋sum初值0

for(int i=2i<=10000i++){//for_i循环从2到10000

for(j=2j<ij++) //for_j循环从2到i-1

if(i%j==0)//判断祥蚂简i是否能被j整除(余数等于0)

break//如果能跳出for_j循环

if(i==j){ //如果没有物好跳出for_j循环,那么for_j循环执行完时,j等于i,那么i就是质谨裤数

sum=sum+i//把质数加到求质数和的变量sum中

}

}

System.out.println("10000以内所有质数之和为:"+sum)//输出10000以内所有质数和

}

}

int sum =0int x=0

for(int m =2,m<=100,m++){//循环从2开始,2最小的质数,循环到100

for(int n = 2,n<m,n++){//循环除以比自己小的数字

if(m%n==0){//若余数为0,则个数加一,即去的可被整除的数字的个数

x++

}

}

if(x==0){//当m不可以整除宴春比自己小的孙祥旁整数则橡后,加sum。

sum+=m

}

}

如此循环,到100结束,不能整除小于自身的数字的和就是sum了。

往楼主采纳

抓住两个条件:

1.质数,除帆和迹了1和自己,没态并有别的约数。

2.约数除了自己,一般都是不大于自己的一半的。

那么,你是否就该明白,整数n,在1~n/2之间做循环,如果在这个棚灶区间里一个数i,并且有n%i==0则说明该整数不是质数。

(注意,1,既不是质数也不是合数。如果n=2,做特别处理)

代码吗,自己整,授之以渔。希望问题帮你解决了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12279929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存