python 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

# 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

n = int(input('请输入需要分解的正数:'))
# 创建一个列表用来存放遍历出来的因数
lt = []
# 给n换个名字记录,便于打印时打印出用户输入的n
m = n

while n > 1:
    for i in range(2,n+1):
        if n%i==0:
            # 记录下用最小因数分解后的n
            n = n//i
            # 把i转换成str,存到列表,便于后面用join拼接字符串列表
            lt.append(str(i))
            # 找到一个最小的因数时,就跳出for in循环,开始下一次循环
            break
if len(lt) == 1:
    print(m,'=','1 ×',m)
else:
    s = '×'.join(lt)
    print(m,'=',s)

你可能感兴趣的:(python)