Тема 25. Программирование - Обработка целочисленной информации
25.03 Числа-палиндромы
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела программирование - обработка целочисленной информации
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#28549

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [11111;22222]  , числа, которые в делителях имеют число-палиндром. Программа должна вывести количество таких чисел. Числа-палиндромы — числа, которые читаются одинаково как справа налево, так и слева направо. Минимальная длина числа-палиндрома равна 2  .

Показать ответ и решение
def f(n):
    for x in range(1, int(n ** 0.5) + 1):
        if n % x == 0:
            if len(str(x)) > 1 and str(x) == str(x)[::-1]:
                return True
            if x != n // x and len(str(n // x)) > 1 and \
                    str(n // x) == str(n // x)[::-1]:
                return True
    return False

result = 0
for i in range(11111, 22222 + 1):
    if f(i):
        result += 1
print(result)

Ответ: 2503

Ошибка.
Попробуйте повторить позже

Задача 2#27878

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [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
Рулетка
Вы можете получить скидку в рулетке!