Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2015 13:06:50

gogas
Зарегистрирован: 2015-05-05
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с задачкой на Pythone.

Дано простое число. Создать функцию,которая находит следующее за ним простое число.
Есть код на паскале, но нужен на питоне:
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)

Офлайн

#2 Май 6, 2015 00:12:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9895
Репутация: +  855  -
Профиль   Отправить e-mail  

Помогите с задачкой на Pythone.

Офлайн

#3 Авг. 30, 2015 15:29:29

Manu_Vilks.Py
Зарегистрирован: 2015-08-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с задачкой на Pythone.

py.user.next
gogas
О это я знаю,
щас откопаю и скажу

Офлайн

#4 Авг. 30, 2015 16:12:42

Manu_Vilks.Py
Зарегистрирован: 2015-08-27
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с задачкой на Pythone.

Вот исправил

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))



вместо 10000000000 можно поставить бесконечность но у меня не получилось

Отредактировано Manu_Vilks.Py (Сен. 2, 2015 14:35:30)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version