Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с Python срочноо!!! Пожалуйста ??????

Ллаоаоа Гинилов Ученик (86), закрыт 5 месяцев назад
Ha вход подаётся четырёхзначное натуральное число. Выведите наибольшее простое число, которое можно составить из цифр введенного числа не переставляя их порядок.

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

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

Программа не должна выводить ничего кроме требуемого простого числа или 0.
Лучший ответ
Алекс Куха Высший разум (461687) 6 месяцев назад
Решил упростить и одновременно оптимизировать решение
 a,x=0,len(n)
for i in range(x):
for k in reversed(range(i + 1,x + 1)):
a = int(n[i:k])
if isPrime(a): break
a=0
if a>0 : break
print(a)
Остальные ответы
Celtic Hammer Мудрец (16455) 6 месяцев назад
 def isPrime(a):    
if a == 1: return False
test = True
k = a - 1
while k > 1:
if not a % k:
test = False
break
k -= 1
return test

n = input()
r = []
for i in range(len(n)):
for k in range(i + 1,len(n) + 1):
a = int(n[i:k])
if isPrime(a):
r += [a]
print(max(r) if r else 0)
173
Ллаоаоа ГиниловУченик (86) 6 месяцев назад
Спасибо
Даниил Мыслитель Ученик (149) 6 месяцев назад
Я хз, меня python invalid'om называет
Алекс КухаВысший разум (461687) 6 месяцев назад
интересное наблюдение
Ivan Sviridov Оракул (64054) 6 месяцев назад
задолбали ушлёпки! у вас есть отдельная категория для вашего сраного питона - туда и пишите, а здесь обсуждаются серьезные темы, не школотронские.
Похожие вопросы