Задача #3498
Делители и маски
(Е. Ширшев) Напишите программу, которая перебирает целые числа, большие 7 305 678, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно четырех простых множителей, не обязательно различных, сумма которых является числом палиндромом.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце - для каждого из чисел соответствующую ему сумму множителей.
Количество строк в таблице для ответа избыточно.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
7305747
2002
7305818
16561
7305986
545
7306057
696
7306059
606
def to_easy(n):
dels = []
i = 2
while i ** 2 <= n:
if n % i == 0:
dels.append(i)
n //= i
else:
i += 1
dels.append(n)
return dels
count = 0
for n in range(7_305_678, 10 ** 10):
dels = to_easy(n)
if len(dels) == 4:
if str(sum(dels)) == str(sum(dels))[::-1]:
print(n, sum(dels))
count += 1
if count == 5:
break