因为质数是一个正整数不能被除了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=0for(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,做特别处理)
代码吗,自己整,授之以渔。希望问题帮你解决了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)