Задача Задача №3391730
А
А
Вот детальное решение и код на 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)))