Форум сайта python.su
Дано простое число. Создать функцию,которая находит следующее за ним простое число.
Есть код на паскале, но нужен на питоне:
var
n: integer;
function IsPrime(x: integer): boolean;
var
i: integer;
begin
IsPrime := true;
for i := 2 to Round(Sqrt(x)) do
if x mod i = 0 then
IsPrime := false;
end;
function NextPrime(x: integer): integer;
begin
if not IsPrime(x) then
exit
else
begin
repeat
Inc(x);
until IsPrime(x);
NextPrime := x;
end
end;
begin
repeat
Write('Введите простое число: ‘);
Readln(n);
until IsPrime(n);
Writeln(’Следующее простое = ', NextPrime(n));
Readln
end.
Отредактировано gogas (Май 5, 2015 15:52:13)
Офлайн
Офлайн
py.user.nextО это я знаю,
gogas
Офлайн
Вот исправил
def isPrime(i): for d in range (i): if i%(d+2)==0: if((d+2)==1)or((d+2)==i): return True return False def nextPrime(x): for i in range(x+1,10000000000,1): if isPrime(i)==True: return(i) x=int(input("Введите простое число")) print("Следующее простое число",nextPrime(x))
Отредактировано Manu_Vilks.Py (Сен. 2, 2015 14:35:30)
Офлайн