Вопрос задан 12.12.2018 в 08:32. Предмет Информатика. Спрашивает Ступин Артём.

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

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Курбатов Максим.
Основную ошибку Вам уже указали. Можно программу немного сократить:
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
0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос