Пусть M(N) – пятый по величине делитель натурального числа N без учёта самого числа и единицы. Например, M(1000) = 100.
Если у числа N меньше 5 различных делителей, не считая единицы и самого числа, считаем, что M(N) = 0.
Найдите 5 наименьших натуральных чисел, превышающих 460 000 000, для которых M(N) > 0.
В ответе запишите найденные значения M(N) в порядке возрастания соответствующих им чисел N.
СтатГрад Вариант ИН2110301 08.02.2022 – задание №25
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
def m(x): a=set() for i in range(2, int(x**0.5)+1): if x % i == 0: a.add(i) a.add(x//i) if len(a)<5: return 0 return sorted(a)[-5] k=0 for n in range(460_000_001, 560_000_000): if m(n)!=0: print(m(n)) k += 1 if k==5: break |
Ответ: 41818182
261959
5
271
57500001
