n = int(input())
lst = []
if n <= 0:
print ('Loser!')
else:
m = n // 2 + 1
for i in range(m):
if i != 0 and n % i == 0:
lst.append(i)
lst.append(n)
print(*lst, sep='\n')
print(*(i for i in range(1, n + 1) if n % i == 0), sep='\n') if (n := int(input())) > 0 else print('Loser!')
from math import isqrt
N, D = int(input('N: ')), []; n = isqrt(N)
for i in range(1, n + 1):
if N % i == 0: D.append(i); D.append(N // i)
if n**2 == N: D.remove(n)
print(*sorted(D), sep = '\n')
Любой алгоритм с бо́льшей временно́й сложностью как в двух предыдущих ответах всерьёз можно даже не рассматривать.
На вход программе подается натуральное число N.
Создайте список, состоящий из делителей введенного числа, и выведите его на экран.
Формат входных данных
С клавиатуры вводится одно натуральное число N.
Формат выходных данных
Вывести все элементы получившегося списка в столбик.