Задача к ЕГЭ по информатике на тему «Особые числа (простые, фибоначи, факториал, палиндромы)» №3

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [12345;12425], числа, которые в делителях имеют число-палиндром. Программа должна вывести количество таких чисел.

Числа-палиндромы — числа, которые читаются одинаково как справа налево, так и слева направо. Минимальная длина числа-палиндрома равна 2.

a = 12345 # Задаю границы цикла
b = 12425
count = 0   # Будущий ответ
for i in range(a, b + 1):
    has_div_pal = False    # Имеет ли число делитель-палинром?
    for j in range(1, i + 1):
        if i % j == 0:
            # Число будет палиндромом, если оно читается с 2 сторон одинаково
            # и его длина > 1
            if str(j)==str(j)[::-1] and len(str(j)) > 1:
                has_div_pal = True
                break
            if str(i//j) == str(i//j)[::-1] and len(str(i//j)) > 1:
                has_div_pal = True
                break
    if (has_div_pal): # если у числа есть делитель палиндром
        count += 1
print(count)

Ответ: 17
Оцените статью
Я решу все!