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

crustiYurasova crustiYurasova    1   22.08.2019 01:30    19

Ответы
 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика