Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких последних цифр, тоже является простым. Например, число 733 -– гиперпростое, так как и оно само, и числа 73 и 7 -– простые. Напишите программу, которая определяет, верно ли, что переданное ей число N – гиперпростое. Используйте функции. Учтите, что число 1 не считается простым. Входные данные Входная строка содержит натуральное число N . Выходные данные Программа должна вывести слово 'YES', если переданное её число – гиперпростое, и слово 'NO', если это число не гиперпростое.

3 Авг 2021 в 19:40
536 +1
0
Ответы
1

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

def is_hyperprime(n):
if not is_prime(n):
return False
while n > 0:
if not is_prime(n):
return False
n = n // 10
return True

N = int(input())
if is_hyperprime(N):
print('YES')
else:
print('NO')

17 Апр 2024 в 13:45
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир