[알고리즘]/백준

백준 1929 자바 - 소수 구하기

broship 2021. 6. 28. 09:41

문제


 

 

문제해결


- 에라토스테네스의 체를 사용해서 소수를 구한 후 주어진 범위내의 소수를 출력하면 된다

import java.util.Scanner;

public class B1929 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        boolean[] sosu = new boolean[n+1];
        sosu[0] = true;
        sosu[1] = true;
        for (int i = 2; i <= Math.sqrt(n); i++) {
            if (sosu[i]) continue;
            for (int j = i*i; j < n+1; j+=i) {
                sosu[j] = true;
            }
        }

        for (int i = m; i <= n; i++) {
            if (!sosu[i])
                System.out.println(i);
        }
    }
}