Вопрос задан 01.11.2025 в 10:44. Предмет Информатика. Спрашивает Ковшечников Константин.

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

Перейти к ответам

Ответы на вопрос

Отвечает Матюшёнок Стефания.

Для того чтобы решить задачу, нужно создать программу, которая будет проверять, является ли заданное число гиперпростым. Мы будем использовать два основных шага:

  1. Проверить, является ли исходное число простым.

  2. Проверить, являются ли числа, полученные откидыванием последних цифр, тоже простыми.

Для этого можно создать несколько вспомогательных функций. Вот пример реализации программы на Python:

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

def is_hyperprime(n): """Функция для проверки, является ли число гиперпростым.""" while n > 0: if not is_prime(n): return False n //= 10 # отбрасываем последнюю цифру return True

# Чтение входных данных N = int(input())

# Проверка, является ли число гиперпростым if is_hyperprime(N): print("YES") else: print("NO")

Объяснение работы программы:

  1. Функция is_prime(n): Проверяет, является ли число простым. Она проверяет делители от 2 до квадратного корня числа (это более эффективный способ для проверки простоты числа).

  2. Функция is_hyperprime(n): Проверяет, является ли число гиперпростым. В этой функции мы используем цикл, который отбрасывает по одной цифре с конца (делает целочисленное деление на 10) и проверяет, является ли каждое промежуточное число простым.

  3. Мы читаем число N и проверяем, является ли оно гиперпростым с помощью функции is_hyperprime(n). Если да, выводим "YES", если нет — "NO".

Пример:

Вход:

733

Выход:

objectivec
YES

Пояснение:

  • 733 — простое.

  • 73 — простое.

  • 7 — простое.

Таким образом, 733 — гиперпростое число.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос