埃氏筛秒素数题(洛谷P5723题题解)

题目要求

P5723题目链接
在这里插入图片描述

分析

埃氏筛不香吗?
详解埃氏筛

AC代码(Java语言描述)

import java.util.Scanner;

public class Main {

    private static boolean prime[];

    private static int num;

    private static void eratosthenes() {
        for(int i = 2; i <= num; ++i) {
            prime[i] = true;
        }
        for(int i = 2; i <= num; ++i) {
            if(prime[i]) {
                for(int j = i * 2; j <= num; j += i) {
                    prime[j] = false;
                }
            }
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        num = scanner.nextInt();
        prime = new boolean[num+1];
        int sum = 0;
        eratosthenes();
        for(int i = 1; i <= num; ++i) {
            if(prime[i]) {
                System.out.println(i);
                num -= i;
                sum++;
            }
            if(num <= 0) {
                break;
            }
        }
        System.out.println(sum);
        scanner.close();
    }
    
}

发布了351 篇原创文章 · 获赞 610 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104045688