Задачи на списки в Python: 1. Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [84052; 84130], число, имеющее максимальное количество различных натуральных делителей, если таких чисел несколько — найдите минимальное из них. Выведите на экран количество делителей такого числа и само число.
Стоит отметить, что задача не "на списки", и, фактически, решается без них эффективнее.
def get_divcount(n):
divcount = 0
for number in range(2, n // 2 + 1):
if not n % number:
divcount += 1
return divcount
max_number, max_divcount = 0, 0
# range -- работает только для Z (множества целых чисел)
# поэтому верно следующее:
# range(a, b) <=> [a, b)
# range(a, b + 1) <=> [a, b]
for number in range(84052, 84130 + 1):
divcount = get_divcount(number)
if divcount > max_divcount:
max_number, max_divcount = number, divcount
print("Делители:", max_divcount)
print("Число:", max_number)