Вопрос по информатике:
Исправить ошибку
Помогите исправить ошибку в программе
Вот задание: Разработать программу поиска и печати всех чисел-близнецов, принадлежащих заданному диапазону [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.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 03.11.2017 21:56
- Информатика
- remove_red_eye 13570
- thumb_up 44
Ответы и объяснения 1
Основную ошибку Вам уже указали. Можно программу немного сократить:
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
- 04.11.2017 23:04
- thumb_up 25
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.