- 백준 1929번: 소수 구하기
- 문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
- 입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000)
M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
- 출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class BOJ_1929 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
for( ; a <= b ; a++) {
boolean flag = true;
if(a == 1) {
continue;
}
for(int j = 2 ; j <= Math.sqrt(a) ; j++) {
if(a % j == 0) {
flag = false;
break;
}
}
if(flag) {
bw.write(a + "\n");
}
}
bw.flush();
br.close();
bw.close();
}
}