功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
# 输入处理
n = int(input("请输入一个正整数: "))
# 从最小的质数2开始
factor = 2
while factor * factor <= n:
# 如果能整除,则是质因子
while n % factor == 0:
print(factor, end=' ')
n //= factor
factor += 1
# 如果最后剩下的n大于1,说明n本身也是一个质因子
if n > 1:
print(n, end=' ')
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
本脚本的逻辑是将输入的正整数,从小到大不断分离质因数.
如输入36,第一次分解出质因数2,剩余18.
第二次分解出质因数2,剩余9.
则2已经无法分解出来了,factor+=1
继续分解质因数3,以此类推