Исправить ошибку Помогите исправить ошибку в программе Вот задание: Разработат

Исправить ошибку Помогите исправить ошибку в программе Вот задание: Разработать программу поиска и печати всех чисел-близнецов, принадлежащих заданному диапазону [N,M ]. Вот программа: program yyy; function prost(var x:integer):boolean; var k,i:integer; t:boolean; begin t:=true; k:=0; for i:=1 to x do begin if x mod i=0 then k:=k+1; end; if k=2 then t:=true else t:=false; prost:=t end; var n,m,i:integer; begin writeln('1'); readln(n); writeln('2'); readln(m); for i:=n to m-1 do begin if prost(i) and prost(i+2) then writeln(i , (i+2)); end; end.
Гость
Ответ(ы) на вопрос:
Гость
Основную ошибку Вам уже указали. Можно программу немного сократить: program yyy;  function prost(x:integer):boolean;  var k,i:integer;  begin  k:=0;  for i:=2 to trunc(sqrt(x)) do   if x mod i = 0 then k:=k+1;  prost:=k=0 end;  var n,m,i:integer;  begin  write('n='); readln(n);  write('m='); readln(m);  for i:=n to m-2 do  if prost(i) and prost(i+2)   then writeln(i,'  ', (i+2));  end. Пример: n=1 m=150 1  3 3  5 5  7 11  13 17  19 29  31 41  43 59  61 71  73 101  103 107  109 137  139
Не нашли ответ?
Ответить на вопрос
Похожие вопросы