Решето Ератосфена
За уведеним числами A та B вивести усі прості числа з інтервалу від A до B включно.
Вхідні дані
У єдиному рядку вводяться два числа 1 ≤ A≤ B≤ 100000.
Вихідні дані
Ввести у одному рядку усі прості числа з інтервалу від A доB включно.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt(), b = in.nextInt();
boolean s[] = new boolean[b+1];
Arrays.fill(s, true);
s[1] = false;
for(int i=2; i<s.length; i++)
if(s[i])
for(int j=2*i; j<s.length; j+=i)
s[j] = false;
StringBuilder sb = new StringBuilder();
while(a <= b) {
if(s[a])
sb.append(' ').append(a);
a++;
} System.out.println(sb.length() > 1 ? sb.substring(1) : "");
}
}
Немає коментарів:
Дописати коментар