Напишите программу, которая выводит все простые числа Софи Жермен (такие, что для числа p...

0 голосов
251 просмотров

Напишите программу, которая выводит все простые числа Софи Жермен (такие, что для числа 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


Информатика (46 баллов) | 251 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

 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   <br>   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




(9.7k баллов)