문제
문제해결
- 에라토스테네스의 체를 사용해서 소수를 구한 후 주어진 범위내의 소수를 출력하면 된다
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);
}
}
}
'[알고리즘] > 백준' 카테고리의 다른 글
백준 10872 자바 - 팩토리얼 (0) | 2021.06.30 |
---|---|
백준 6588 자바 - 골드바흐의 추측 (0) | 2021.06.29 |
백준 1934 자바 - 최소공배수 (0) | 2021.06.27 |
백준 2609 자바 - 최대공약수와 최소공배수 (0) | 2021.06.27 |
백준 11656 자바 - 접미사 배열 (0) | 2021.06.26 |