
Дано простое число. Составить программу,которая будет находить следующее за ним простое число.(напр. для 11-13,а для 23-29). Если исходное число не является простым, то вывести на печать 0.
Помогите пожалуйста,никак не додумаю…вот есть часть программы…
| Pascal | ||
|
а что дальше никак не пойму,именно какое условие записать чтобы он выбирал следующее за ним простое число…
Дано простое число найти следующее за ним простое число паскаль.
На этой странице вы найдете ответ на вопрос Дано простое число найти следующее за ним простое число паскаль?. Вопрос
соответствует категории Информатика и уровню подготовки учащихся 10 — 11 классов классов. Если ответ полностью не удовлетворяет критериям поиска, ниже можно
ознакомиться с вариантами ответов других посетителей страницы или обсудить с
ними интересующую тему. Здесь также можно воспользоваться «умным поиском»,
который покажет аналогичные вопросы в этой категории. Если ни один из
предложенных ответов не подходит, попробуйте самостоятельно сформулировать
вопрос иначе, нажав кнопку вверху страницы.
function prost(x:integer):boolean;
var y:integer;
f:boolean;
begin
x:=abs(x);
if x<2 then f:=false{0,1 не простое}
else if x=2 then f:=true{2 простое}
else if x mod 2=0 then f:=false{четные больше 2 не простые}
else
begin
f:=true;
y:=3;
while(y*y<=x)and f do
if x mod y=0 then f:=false
else inc(y,2);
end;
prost:=f
end;
var n,i:integer;
begin
repeat
write('Введите простое число n=');
readln(n);
until Prost(n);
i:=n+1;
while not Prost(i) do
i:=i+1;
write('Следующее простое число=',i);
end.
Опубликовано 3 года назад по предмету
Информатика
от fil0000
ПОМОГИТЕ ПОЖАЛУЙСТА!ОЧЕНЬ НУЖНО!!!
Дано простое число. Найти следующее за ним простое число.Программа Паскаль
function getSimple(offset : integer) : integer;
var
s, i : integer;
found : boolean;
begin
s := offset;
found := false;
while not found do begin {перебор следующих за заданным чисел}
found := true;
inc(s);
for i := 2 to s -1 do begin { поиск делителей }
if s mod i = 0 then begin { делитель найден }
found := false;
break;
end;
end;
end;
Result := s;
end;
