Напишите программу, которая выводит все простые числа Софи Жермен (такие, что для числа p число 2 p + 1 тоже простое) в диапазоне от K до N ( 2 ≤ K ≤ N ≤ 100000 ). Входные данные Входная строка содержит два натуральных числа, р...
Напишите программу, которая выводит все простые числа Софи Жермен (такие, что для числа p число 2 p + 1 тоже простое) в диапазоне от K до N ( 2 ≤ K ≤ N ≤ 100000 ).
Входные данные
Входная строка содержит два натуральных числа, разделённые пробелом, K и N ( 2 ≤ K ≤ N ≤ 100000 ).
Выходные данные
Программа должна вывести все простые числа Софи Жермен в диапазоне от K до N в одну строку, разделив их пробелами. Если таких чисел нет, нужно вывести число 0.
Примеры
входные данные
100 200
выходные данные
113 131 173 179 191
входные данные
200 220
выходные данные
0
Паскаль ABC 1.8
Ответ(ы) на вопрос:
Гость
function simpl(n: integer): boolean;
var i,k: integer;
begin
i:=2;
k:=round(sqrt(n));
while ((n mod i)<>0) and (i<=k) do
i:=i+1;
simpl:=(i>k)
end;
{ основная программа }
var i,k,n,m: integer;
begin
readln(k,n);
m:=0;
for i:=k to n do
if simpl(i) and simpl(i*2+1) then
begin
write(i,' ');
m:=1;
end;
if m=0 then writeln(0);
end.
10 100
11 23 29 41 53 83 89
12 20
0
Не нашли ответ?
Похожие вопросы