0
点赞
收藏
分享

微信扫一扫

求m-n之间的素数个数和求和

夕阳孤草 2022-03-19 阅读 72
java

问题:

输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和。 (双重循环)

200-500之间

public class Sushu {
    public static void main(String[] args) {
        int count = 0;
        int sum = 0;
        //外循环控制数的范围200-500
        for (int i = 200; i <= 500; i++) {
            //
            boolean b = true;
            //内循环控制除数,从2开始,直到i-1
            for (int j = 2; j < i; j++) {
                //只要有被整除的,就终止判断
                if (i % j == 0) {
                    //只要有被整除的,就不做判断了,直接break
                    b = false;
                    break;
                }
            }
            //所以b==true时.i才是素数,直接输出i
            if (b == true) {
                System.out.println("素数为:" + i);
                count++;
                sum += i;
            }
        }
        System.out.println("200-500之间的素数个数为" + count + "和为" + sum);
    }
}

升级版:  m-n之间

import java.util.Scanner;

public class Demo13 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入m");
            int m = sc.nextInt();
            System.out.println("请输入n");
            int n = sc.nextInt();
            if (m < n && m >= 1 && n <= 500) {
                int quantity = 0;
                int sum = 0;
                for (int i = m; i <= n; i++) {
                    boolean flag = true;
                    for (int j = 2; j < i; j++) {
                        if (i % j == 0) {
                            flag = false;
                            break;
                        }
                    }
                    if (flag == true) {
                        quantity++;
                        sum += i;
                    }
                }
                System.out.println(m + "和" + n + "之间的素数个数为" + quantity + "这些素数的和为" + sum);
                break;
            } else {
                System.out.println("您输入的数据有误,m要小于n且都要在1到500之间,请从新输入!");
            }
        }
    }
}

注意: 

双循环里面嵌套if判断语句,可以设置一个布尔变量来作为一个小开关,注意这个小开关要放在外循环里面,内循环外面,因为每执行一次外循环,我们都要判断一下对错。具体看代码。

举报

相关推荐

0 条评论