[백준] 2581. 소수

최대 1 분 소요

문제 링크

[백준] 2581. 소수


풀이 과정

소수 판별 에라토스테네스의 체를 구현하는 문제입니다. 풀이 방법은 [백준] 2960. 에라토스테네스의 체와 동일합니다.


코드

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int M = sc.nextInt();
        int N = sc.nextInt();
        boolean[] prime = new boolean[N + 1];
        Arrays.fill(prime, true);
        prime[1] = false;

        for (int i = 2; i <= N; i++) {
            if (prime[i]) {
                for (int j = i * i; j <= N; j += i) {
                    prime[j] = false;
                }
            }
        }

        int min = 10000;
        int sum = 0;

        for (int i = M; i <= N; i++) {
            if (prime[i]) {
                sum += i;
                min = Math.min(min, i);
            }
        }

        if (sum == 0) {
            System.out.println(-1);
        } else {
            System.out.println(sum + "\n" + min);
        }
    }
}

카테고리:

업데이트:

댓글남기기