Есть ответ 👍

Задачи на списки в Python: 1. Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [84052; 84130], число, имеющее максимальное количество различных натуральных делителей, если таких чисел несколько — найдите минимальное из них. Выведите на экран количество делителей такого числа и само число.

213
248
Посмотреть ответы 2

Ответы на вопрос:


Стоит отметить, что задача не "на списки", и, фактически, решается без них эффективнее.

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)


А          в           с           в∨с           в∧с       а∧(в∨с)     а∨(в∧с)     итог 0           0           0               0                 0               0                 0               0 0           0           1               1                 0               0                 0               0 0           1           0               1                 0               0                 0               0 0             1           1               1                 1               0                 1               1 1           0           0               0                 0               0                 1               1 1           0           1               1                 0               1                 1               1 1           1           0               1                 0               1                 1               1 1           1           1               1                 1               1                 1               1

Популярно: Информатика