Дано простое число Найти следующее простое число - Pascal ABC
Формулировка задачи:
Дано простое число n. Найти следующее простое число.
Решение задачи: «Дано простое число Найти следующее простое число»
textual
Листинг программы
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.
Объяснение кода листинга программы
- В функции prost заданное на языке Pascal ABC число x преобразуется в абсолютное значение с помощью функции abs(x).
- Если x меньше 2, то переменная f устанавливается в false (0), что означает, что число x не является простым.
- Если x равно 2, то переменная f устанавливается в true (1), что означает, что число x является простым.
- Если x является четным числом больше 2, то переменная f устанавливается в false (0), что означает, что число x не является простым.
- Если условие из предыдущего пункта не выполняется, то переменная f устанавливается в true (1), и переменная y инициализируется значением 3.
- Затем в цикле while выполняется следующая последовательность действий:
- проверяется, является ли произведение y и y равным или меньшим, чем значение x.
- если это так, то переменная f устанавливается в false (0), что означает, что число x не является простым.
- иначе, значение переменной y увеличивается на 2.
- Цикл while продолжается до тех пор, пока переменная f не станет false (0), что означает, что число x не является простым.
- После этого значение переменной i устанавливается равным значению переменной n плюс 1.
- Затем цикл while повторяется до тех пор, пока функция Prost(i) не станет true (1), что означает, что число i является простым.
- Когда это происходит, значение переменной i выводится на экран вместе с сообщением
Следующее простое число=. - Цикл while повторяется до тех пор, пока значение переменной i не станет больше или равно значению переменной n.