코딩 공부 연습

백준 1929 소수구하기

miffy짱 2022. 10. 26. 10:35
반응형
  • 백준 1929 소수 구하기

  • 소수를 구하는 문제였는데, 에라토스테네스의 체를 이용했다. 마냥 나누고 대충 생각해서 하다가 몇번 틀렸다.
  • 원래 sqrt 만큼만 순회해도 되는데, 자바에서 제곱근을 구하는 방법은
 Math.sqrt(num);  // 이거였다.
  • 마지막으로 1 같은 특이한 경우에 대해서만 고려해 예외 처리해 주면 끝!
import java.util.Scanner;

public class Boj_1929 {
    public static void main(String[] args) {
        int m, n;
        int[] arr = new int[1000001];

        Scanner scanner = new Scanner(System.in);
        m = scanner.nextInt();
        n = scanner.nextInt();

        for (int i = 2; i <= n; i++) {
            for (int j = 2; i * j <= n; j++) {
                arr[i*j] = 1;
            }
        }
        arr[1] = 1;
        for (int i = m; i <= n; i++) {
            if (arr[i] == 0) {
                System.out.println(i);
            }
        }
    }
}