- 처음에는 이렇게 풀었는데 시간이... 너무 오래 걸려서 다시!!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
for(int i=m; i<=n; i++) {
if(isPrime(i)) {
System.out.println(i);
}
}
}
static boolean isPrime(int Number) {
if(Number == 1){
return false;
}
for(int i = 2; i <= Math.sqrt(Number); i++) {
if(Number % i == 0) return false;
}
return true;
}
}
- 에라토스테네스의 체를 이용한 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
int[] array = new int[n+1];
for(int i=2; i<=n; i++) {
array[i] = i;
}
for(int i=2; i<=n; i++) {
if(array[i] == 0) continue;
for(int j=i+i; j<=n; j+=i) {
array[j] = 0;
}
}
for(int i=m; i<=n; i++) {
if(array[i] != 0) System.out.println(array[i]);
}
}
}