用java找出1到100的素数,并求和

如题所述

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;
                }
            }
        }
        System.out.println("sum="+sum);

思路:先说什么是素数。除了1和它本身以外不再有其他的因数就是素数。所以你要做的就是对于一个整数i,让他和比他小的正整数取余数,如果为0的话就肯定不是素数了。如果都不为0且最后只有他本身那么这个数就是素数了。看上面循环,直接从2开始就刨除了1,不然判断条件里面还得写1的判断

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答