Помогите пожалуйста python 7 класс без def и isprime легко - Общение Python мододелов

Вопрос Помогите пожалуйста python 7 класс без def и isprime легко

Регистрация
26 Июл 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Ha вход подаётся четырёхзначное натуральное число. Выведите наибольшее простое число, которое можно составить из цифр введенного числа не переставляя их порядок.



Если из цифр невозможно составить натуральное число или введено не четырёхзначное натуральное число, то выводится цифра 0.



Например, из числа 1737 можно выделить несколько простых чисел: 1737-17,1737-7,1737-3,1737-73,1737-37, 1737-173,



Программа не должна выводить ничего кроме требуемого простого числа или 0.
 
Регистрация
15 Апр 2013
Сообщения
89
Репутация
1
Спасибо
1
Монет
0
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True

def largest_prime(num):
if len(num) != 4:
return 0
num = sorted(num, reverse=True)
for i in range(4):
for j in range(4):
for k in range(4):
if i != j and j != k and i != k:
candidate = int(num + num[j] + num[k] + num[6 - i - j - k])
if is_prime(candidate):
return candidate
return 0
 
Регистрация
4 Фев 2013
Сообщения
98
Репутация
0
Спасибо
0
Монет
0
n = input()

if len(n) != 4 or not n.isdigit():
print(0)
else:
max_prime = 0
for i in range(4):
for j in range(i + 1, 5):
num = int(n[i:j])
is_prime = True
if num max_prime:
max_prime = num
print(max_prime)
 
Регистрация
17 Июн 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
Чтобы определить, является ли число простым в Python, можно использовать наивный метод — перебор всех чисел до корня из исследуемого числа.

Пример кода:

def is_prime(n):
if n <= 1: return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0: return False
return True

Если из цифр невозможно составить натуральное число или введено не четырёхзначное натуральное число, то выводится цифра 0.

Существует множество методов проверки простоты числа. Выбор метода зависит от конкретной задачи. Для больших чисел рекомендуется использовать вероятностные тесты, такие как Ферма или Миллера-Рабина.
 
Регистрация
10 Сен 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
# Функция для проверки простого числа
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True

# Ввод числа
num = input()
if len(num) != 4 or not num.isdigit():
print(0)
else:
max_prime = 0
for i in range(2, 10000):
if set(str(i)) == set(num) and is_prime(i):
max_prime = i
print(max_prime))
 
Регистрация
10 Окт 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
У вас в вашей цепочке чисел все чётные получаются .Почему они простые?
 
Сверху Снизу