[백준 1929]소수 구하기 - JAVA 풀이
문제
![문제]()
해석
- 숫자 N, M이 주어졌을 때, N과 M사이의 소수를 출력하는 문제
코드
import java.util.*;
import java.io.*;
public class Main
{
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int M = Integer.parseInt(st.nextToken());
int N = Integer.parseInt(st.nextToken());
boolean[] c = calc(N+1);
for(int i = M; i <= N; i++){
if(!c[i]){
sb.append(i).append("\n");
}
}
System.out.println(sb);
}
public static boolean[] calc(int n){
boolean[] check = new boolean[n];
check[1] = true;
for(int i = 2; i < n; i++){
if(check[i])
continue;
for(int j = i*2; j < n; j+=i)
check[j] = true;
}
return check;
}
}