максимальное количество различных натуральных делителей
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [79201; 80000], число, имеющее максимальное количество различных натуральных делителей, если таких чисел несколько — найдите минимальное из них.
Выведите на экран количество делителей такого числа и само число.
Ответы:
(количество делителей) (само число)Источник: «05.04.2021 ЕГЭ 100БАЛЛОВ, Иосиф Дзеранов»
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
mk=0 mi=0 for i in range(79201, 80000+1): k=2 d=2 while d * d < i: if i%d==0: k+=2 d+=1 if d*d==i: k+=1 if k>mk: mk=k mi=i print(mk, mi) |
или
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def M(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 len(d) m=0 mi=0 for i in range(79201, 80001): if M(i)>mi: m=i mi=M(i) print(mi+2, m) |
Ответ: 96 79560
