Задание 25. Информатика. ЕГЭ. Поляков-2593

Просмотры: 118
Изменено: 24 ноября 2024

Среди целых чисел, принадлежащих числовому отрезку \( [2945; \,\, 18294]\), найдите числа, не делящиеся на вторую степень какого-либо числа, кроме единицы. Ответом будет сумма цифр найденных чисел. (К. Амеличев)

Решение:

Python


def div2(n):
    for x in range(2, int(n**0.5)+1):
        if n % x**2 == 0:
            return True
    return False

def sum_dig(n):
    return sum(list(map(int, str(n))))

a = []
for n in range(2945, 18295):
    if not div2(n):
        a.append(n)

s = 0
for i in range(len(a)):
    s += sum_dig(a[i])

print(s)

Ответ: 177084