Информатика, опубликовано 2018-08-22 22:18:49 by Гость
Исправить ошибку Помогите исправить ошибку в программе Вот задание: Разработать программу поиска и печати всех чисел-близнецов, принадлежащих заданному диапазону [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
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.
