问题描述
使用循环语句,编程求解1到100之间的素数之和.
解决方案
解决方案二:
publicclassTestPrime{publicstaticbooleanisPrime(intnum){for(inti=2;i<=Math.sqrt(num);i++){//默认2是素数if(num%i==0){returnfalse;}}returntrue;}publicstaticvoidmain(String[]args){intsum=0;for(intj=2;j<=9;j++){if(TestPrime.isPrime(j)){sum+=j;}}System.out.println(sum);}}
解决方案三:
修改一下,上边是为了测试写的是从2到9,你改成100,就行了
解决方案四:
publicstaticvoidmain(String[]args){sum(100);}publicstaticintsum(intnum){if(num<=0){return-1;}if(num==1){return1;}if(num==2){return3;}intsum=3;//素数和/**素数*/java.util.LinkedList<Integer>list=newjava.util.LinkedList();list.add(2);booleanflag;for(inti=3;i<=num;i++){flag=true;//是否是素数for(ints:list){if(i%s==0){//不是则退出flag=false;break;}}if(flag){list.add(i);sum+=i;}}list.add(0,1);System.out.println("1-"+num);System.out.println("素数:"+list);System.out.println("素数和:"+sum);returnsum;}/*1-100素数:[1,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97]素数和:1061*/
解决方案五:
mygod
解决方案六:
很上时间都没计算自己的大脑了!