package project2;import java.math.*;public class Test3 { public static void main(String[] args){ int sum=0; for(int i=101;i<=200;i++){ for(int j=2;j<=i;j++){ if(i%Math.sqrt(j)!=0){ System.out.println(i); } } } System.out.println(sum); }}
1 回答
luofuxiang
TA贡献34条经验 获得超34个赞
素数描述为“不能只能被1和它本身整除的正整数”,楼主判断素数的条件好像有问题。这里给出了能够求出101-200之间所有素数并求和的代码,调试已通过,不知是否满足楼主要求。
源代码:
import java.math.*; public class Test3 { public static void main(String[] args){ int sum=0; for(int i=101;i<=200;i++){ int j=2; for(;j<i;j++){ if(i%j==0) break;/*除了1和它本身之外还能被其它的书整除,表示该数i不为素数,跳出循环*/ } if(j<i){/*如果是由于跳出循环执行这条语句的,则忽略此时的i,继续执行外循环*/ continue; }else/*否则,打印出素数*/ { System.out.print(i+", "); sum+=i; } } System.out.println(); System.out.println("101-200之间所有素数之和 = " + sum); } }
输出结果:
101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 101-200之间所有素数之和 = 3167
添加回答
举报
0/150
提交
取消