Задача: Наибольший числовой палиндром

Опубликован: 07.11.2024 52

Условие: наибольший палиндром, полученный из произведения двух двухзначных чисел, равен: 9009 = 91 * 99

Найдите наибольший палиндром, полученный из произведения двух трехзначных чисел.

Палиндром — это число, которое читается одинаково вперёд и назад. Другими словами, оно остаётся неизменным, когда его цифры переворачиваются.

Решение:

# функция проверки числа на палиндром
def is_palindrome(num):
    str_num = str(num)
    if str_num == str_num[::-1]:
        return True
    return False


# поиск наибольшего палиндрома, полученного произведением двух трехзначных цифр
def largest_palindrom():
    for n1 in range(999, 99, -1):
        for n2 in range(999, 99, -1):
            num = n1 * n2
            if is_palindrome(num):
                return (num, n1, n2)


lp = largest_palindrom()
print(f"Наибольший палиндром: "
      f"{lp[0]} = {lp[1]} * {lp[2]}")

# Наибольший палиндром: 580085 = 995 * 583

Похожие посты

Задача: Решение квадратного уравнения

Задача: Тренажер таблицы умножения

Задача: Разложение числа на простые множители

Задача: Наибольший общий делитель

Комментариев нет.