알고리즘
기본정수론/소수구하기 백준 1929번
espossible
2024. 4. 5. 20:13
알고리즘 : 기본정수론
소수구하기
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
예제 입력
3 16
예제 출력
3
5
7
11
13
import java.io.*;
import java.util.*;
public class Main {
private static int M;
private static int N;
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
M = Integer.parseInt(st.nextToken());
N = Integer.parseInt(st.nextToken());
printPrime();
}
private static void printPrime() {
for(int i=M;i<=N;i++) {
if(i==1) continue;
else if(isPrime(i)) {
System.out.println(i);
}
}
}
private static boolean isPrime(int num) {
// 1과 나 자신만으로만 나누어지는지 확인.
for(int i=2;i<Math.sqrt(num);i++) {
if(num % i == 0) return false;
}
return true;
}
}