Для того чтобы найти автоморфные числа, не превосходящие заданное натуральное число ( N ), нам нужно проверить каждое число от 1 до ( N ) на соответствие определению автоморфного числа. В этом случае, число является автоморфным, если его квадрат заканчивается на это же число.
Пример:
- 5 является автоморфным, так как ( 5^2 = 25 ), и 25 заканчивается на 5.
- 76 является автоморфным, так как ( 76^2 = 5776 ), и 5776 заканчивается на 76.
Чтобы реализовать данную проверку программно, мы можем воспользоваться языком программирования Python. Вот как может выглядеть такая программа:
# Функция для проверки, является ли число автоморфным
def is_automorphic(num):
square = num ** 2
return str(square).endswith(str(num))
# Функция для нахождения всех автоморфных чисел, не превосходящих N
def find_automorphic_numbers(N):
automorphic_numbers = []
for i in range(1, N + 1):
if is_automorphic(i):
automorphic_numbers.append(i)
return automorphic_numbers
# Основная часть программы
def main():
# Получаем натуральное число N от пользователя
N = int(input("Введите натуральное число N: "))
# Находим и выводим все автоморфные числа, не превосходящие N
automorphic_numbers = find_automorphic_numbers(N)
print("Автоморфные числа, не превосходящие {}:".format(N))
for num in automorphic_numbers:
print(num)
# Запуск основной части программы
if __name__ == "__main__":
main()
Объяснение работы программы:
Функция is_automorphic(num)
:
- Принимает число
num
.
- Вычисляет его квадрат:
square = num ** 2
.
- Преобразует квадрат и само число в строки и проверяет, заканчивается ли строка квадрата на строку числа с помощью метода
.endswith()
.
- Возвращает
True
, если число автоморфное, иначе False
.
Функция find_automorphic_numbers(N)
:
- Принимает верхнюю границу поиска
N
.
- Создает пустой список для хранения автоморфных чисел.
- Перебирает все числа от 1 до ( N ) (включительно) и проверяет каждое число на автоморфность с помощью функции
is_automorphic
.
- Если число автоморфное, добавляет его в список.
- Возвращает список всех автоморфных чисел.
Основная часть программы:
- Запрашивает у пользователя ввод натурального числа ( N ).
- Вызывает функцию
find_automorphic_numbers
для поиска автоморфных чисел.
- Выводит найденные автоморфные числа.
Запустив эту программу, пользователь сможет получить все автоморфные числа, не превосходящие заданное ( N ).