Python将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
def SlowSnail(n):
while n != 1: # 循环保证递归
for index in range(2, n + 1):
if n % index == 0:
n //= index # n 等于 n//index
if n == 1:
print(index)
else:
print('%s *' % index, end=" ")
# 普通的print('%s*' % index)会让每一次输出都在下一行
# 把end设置成空格可以让输出都在同一行,因为end默认为换行
break
while 1:
n = int(input('请输入一个正整数:'))
if n == -1: # 设置退出循环条件
break
while n <= 0: # 设置输入错误条件
n = int(input('输入错误,请重新输入:'))
SlowSnail(n) # 调用函数