неділя, 1 листопада 2015 р.

4739

Решето Ератосфена

За уведеним числами 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) : ""); } }

Немає коментарів:

Дописати коментар