알고리즘 : 기본정수론
소수구하기
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;
}
}
'알고리즘' 카테고리의 다른 글
브루트포스/최댓값 백준 2566번 (1) | 2024.04.05 |
---|---|
브루트포스/색종이 백준 10163 (0) | 2023.11.11 |
BFS/미로 탈출 백준 14923번 (2) | 2023.10.28 |
그래프/파티 백준 1238번 (0) | 2023.10.04 |
그래프/Strongly Connected Component 백준 2150번 (1) | 2023.09.17 |