Найти на промежутке числа, которые являются четвертыми степенями простых чисел. В ответе через пробел запишите количество таких чисел и сумму цифр всех чисел.
def prime(n):# функция для проверки, что число - простое
if n == 1: return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def sum_digits(n): # сумма цифр
s = 0
while n > 0:
s += n % 10
n //= 10
return s
counter, summ_digits = 0, 0
for i in range(174133, 321442):
if (int(i ** 0.25) == i ** 0.25) and prime(i ** 0.25): # если корень четвёртой степени у числа является целым числом и при этом он - простое число
counter += 1
summ_digits += sum_digits(i)
print(counter, summ_digits)
Ответ: 1 31