Вопрос задан 02.10.2026 в 04:46.
Предмет Информатика.
Спрашивает Меражи Кирилл.
Напишите код на Python.
Валентина прогуляла лекцию по математике. Преподаватель решил подшутить над нерадивой студенткой и попросил ее на практическом занятии перечислить все положительные делители некоторых целых чисел. Для несложных примеров студентка быстро нашла решения (для числа 6 это: 1, 2, 3, 6; а для числа 16 это: 1, 2, 4, 8, 16), но этим все не закончилось. На домашнее задание ей дали варианты посложнее: 23436, 190187200, 380457890232.
Ответы на вопрос
Отвечает Калашников Иван.
Код на Python:
numbers = [23436, 190187200, 380457890232]
def divisors(n):
small = []
large = []
i = 1
while i * i <= n:
if n % i == 0:
small.append(i)
if i != n // i:
large.append(n // i)
i += 1
return small + large[::-1]
for number in numbers:
print(number)
print(divisors(number))
Программа перебирает числа только до квадратного корня из \(n\), поэтому работает быстрее, чем полный перебор до самого числа.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

