题解 | 判断素数个数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int start = scanner.nextInt();
        int end = scanner.nextInt();
        method(start, end);
    }

    public static void method(int start, int end) {
        int count = 0;

        //write your code here......
        //保证start小于end
        if (start > end) start = start + end - (end = start);
        //记录一下start的旧值用于输出
        int oldstart = start;
        //为保证找的素数都大于2,令start从3开始
        if (start <= 2) start = 3;
        for (int i = start; i <= end; i++) {
            if (isPrime(i)) {
                count++;
            }
        }
        System.out.println(oldstart + "到" + end + "之间有" + count +
                           "个大于2的素数");
    }
    public static boolean isPrime(int num) {
        boolean isPrime = true;
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                isPrime = false;
                break;
            }
        }
        return isPrime;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务