求一个正整数的所有因数,正整数通过input函数输入,不需要任何提示信息,输出结果为每个数字占一行,中间不要有空行除,此外不要输出任何内容.
代码如下,如有帮助请点击一下采纳谢谢:
import math
def factor(num):
factors = []
for_times = int(math.sqrt(num))
for i in range(for_times + 1)[1:]:
if num % i == 0:
factors.append(i)
t = int(num / i)
if not t == i:
factors.append(t)
return factors
num=int(input())
f=factor(num)
f.sort()
for x in f:
print(x)