java程序 求100以内所有非质数的和…
答案:2 悬赏:0 手机版
解决时间 2021-11-28 17:13
- 提问者网友:相思似海深
- 2021-11-28 13:25
java程序 求100以内所有非质数的和…
最佳答案
- 五星知识达人网友:野慌
- 2021-11-28 14:21
int sum=0;
for (int i = 2; i <= 100; i++) { // 质数
for (int k = 2; k <= i; k++) { // 除数
// 排除所有在 i=k 之前 能被k整除(余数为0)的数
if (i % k == 0 && i != k) {
break;
}
// 输出所有在 i=k 且 i%k=0的数
if (i % k == 0 && i == k) {
System.out.println(i);
sum+=i;
}
}
}
int num=0;
for (int i = 1; i <= 100; i++){
num+=i;
}
int result=0;
result=num-sum;
System.out.println("结果="+result);
}手头没工具就这么直接写的,可能哪行没写分号的这类问题。前面的sum是1-100的素数,后面的循环求出的num是1-100的和。两个一减就是非素数的和了
for (int i = 2; i <= 100; i++) { // 质数
for (int k = 2; k <= i; k++) { // 除数
// 排除所有在 i=k 之前 能被k整除(余数为0)的数
if (i % k == 0 && i != k) {
break;
}
// 输出所有在 i=k 且 i%k=0的数
if (i % k == 0 && i == k) {
System.out.println(i);
sum+=i;
}
}
}
int num=0;
for (int i = 1; i <= 100; i++){
num+=i;
}
int result=0;
result=num-sum;
System.out.println("结果="+result);
}手头没工具就这么直接写的,可能哪行没写分号的这类问题。前面的sum是1-100的素数,后面的循环求出的num是1-100的和。两个一减就是非素数的和了
全部回答
- 1楼网友:七十二街
- 2021-11-28 15:39
public class Jisuan {
public static void main(String[] args) {
int num = 0;
int count = 0;
for(int j=1;j<101;j++){
count+=j;
}
System.out.printf("1-100所有数的和为%d",count);
System.out.println();//换行
// 求100以内的质数
System.out.println("1-100内所有的质数为:");
for (int i = 2; i <= 100; i++) {
for (int k = 2; k <= i; k++) {
if (i % k == 0 && i != k) {
break;
}
if (i % k == 0 && i == k) {
num+=i;
System.out.printf("%d ",i);
}
}
}
System.out.println();
System.out.printf("所有的质数和为%d\n",num);
System.out.printf("所有的非质数和为:%d-%d=%d",count,num,count-num);
}
}
结果为:
1-100所有数的和为5050
1-100内所有的质数为:
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
所有的质数和为1060
所有的非质数和为:5050-1060=3990
public static void main(String[] args) {
int num = 0;
int count = 0;
for(int j=1;j<101;j++){
count+=j;
}
System.out.printf("1-100所有数的和为%d",count);
System.out.println();//换行
// 求100以内的质数
System.out.println("1-100内所有的质数为:");
for (int i = 2; i <= 100; i++) {
for (int k = 2; k <= i; k++) {
if (i % k == 0 && i != k) {
break;
}
if (i % k == 0 && i == k) {
num+=i;
System.out.printf("%d ",i);
}
}
}
System.out.println();
System.out.printf("所有的质数和为%d\n",num);
System.out.printf("所有的非质数和为:%d-%d=%d",count,num,count-num);
}
}
结果为:
1-100所有数的和为5050
1-100内所有的质数为:
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
所有的质数和为1060
所有的非质数和为:5050-1060=3990
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯