Задание 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\)