题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import sys, math
table1, re = [], []
def just1(a):
if a == 1:
return False
elif a == 2:
return True
else:
for i in range(2,int(math.sqrt(a))+ 1):
if a % i == 0:
return False
else:
return True
def 因子(a,b):
if just1(a):
re.append(a)
else:
for i in range(b, int(math.sqrt(a))+ 1):
if a % i == 0 and just1(i):
a = a // i
re.append(i)
因子(a,i)
break
for line in sys.stdin:
a = int(line.strip())
if a == 1:
break
if a == 2:
print(2)
elif just1(a):
print(a)
else:
因子(a,2)
for i in re:
print(i, end=" ")

