Задача #2878

Делители и маски

Уровень ЕГЭ

Обозначим через S сумму простых делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение S равным нулю. Напишите программу, которая перебирает целые числа, большие 32 500 000 в порядке возрастания и ищет среди них такие, для которых значение S не равно нулю и кратно 145.

Программа должна найти первые 7 таких чисел. Для каждого из них в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке возрастания найденных чисел.

Количество строк для записи ответа избыточно.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

32500280
2755
32500301
58290
32500440
1450
32500623
17545
32500665
722245
32500700
7975
32500834
4785
def div(x):
d = set()
for i in range(2,int(x**0.5)+1):
if x%i==0:
d.add(i)
d.add(x//i)
return sorted(d)

k = 0
for x in range(32_500_001,32_501_000):
d = [i for i in div(x) if len(div(i))==0]
S = sum(d)
if S!=0 and S%145==0:
print(x,S)
k += 1
if k==7: break
Быстрый переход
Перейти к задаче