Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3391730
А
Аноним
15 сентября 2025 14:19 · публичный вопрос
А
Аноним

напиши код в python Делители По данному натуральному числу выведите все его натуральные делители в порядке возрастания. Входные данные На вход подаётся единственное натуральное…

Запрос пользователя

Напиши код в python Делители По данному натуральному числу выведите все его натуральные делители в порядке возрастания. Входные данные На вход подаётся единственное натуральное число п (n < 1000). Выходные данные Выведите все делители числа в порядке возрастания. Делители можно выводить на одной строке, разделяя пробелом, или на разных строках. Примеры Ввод Вывод 10 1 2 5 10

Ответ нейросети
15 сентября 2025 14:19

Вот детальное решение и код на Python.

Цель и подход

  • Мы ищем все натуральные делители данного числа n.
  • Важная идея: делители обычно образуют пары (i, n/i). Можно перебрать i от 1 до sqrt(n) и для каждого делителя добавить и его пару.
  • После сбора делителей сортируем их по возрастанию и выводим. Это работает для n < 1000.

Код (одна строка разделение пробелами, можно по желанию вывести на несколько строк)

n = int(input().strip())

divs = []
for i in range(1, int(n**0.5) + 1):
    if n % i == 0:
        divs.append(i)
        if i != n // i:
            divs.append(n // i)

divs.sort()
print(*divs)

Пример

  • Ввод: 10
  • Вывод: 1 2 5 10

Если нужно выводить каждый делитель на новой строке, можно заменить последнюю строку на: print("\n".join(map(str, divs)))