Помогите пожалуйста python 7 класс без def и isprime легко - Общение Python мододелов
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

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

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



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



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



Программа не должна выводить ничего кроме требуемого простого числа или 0.
 
Регистрация
15 Апр 2013
Сообщения
88
Репутация
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
Сообщения
95
Репутация
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
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
У вас в вашей цепочке чисел все чётные получаются .Почему они простые?
 
Сверху Снизу