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

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

Среди целых чисел, принадлежащих числовому отрезку \([4099; \,\, 26985]\), найдите числа, имеющие ровно один натуральный делитель, не считая единицы и самого числа. В ответе запишите два числа: сначала количество найденных чисел, а затем сумму цифр этих чисел. (К. Амеличев)

Решение:

Python


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

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

a = []

for x in range(4099, 26986):
    sq = int(x ** 0.5)
    if sq ** 2 == x and is_prime(sq):
        a.append(x)
        
s = 0
for i in range(len(a)):
    s += sum_dig(a[i])

print(len(a), s)

Ответ: \(20 \,\, 377\)