Исправить ошибку исправить ошибку в программе вот : разработать программу поиска и печати всех чисел-близнецов, принадлежащих заданному диапазону [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.

butkovskaal butkovskaal    1   21.07.2019 12:30    1

Ответы
гегпнгеггне гегпнгеггне  19.08.2020 14:57
Основную ошибку Вам уже указали. Можно программу немного сократить:
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика