В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
pashka4060
pashka4060
25.03.2022 12:50 •  Информатика

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

Показать ответ
Ответ:
XaMeJIuoH
XaMeJIuoH
09.01.2021 16:16

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

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 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота