python中的分解质因式

img


是一道将正整数分解质因式的题。如输入90,打印出90等于各个质因数相乘的式子,应该是利用循环解答。

循环判断呗,先做一个小于d等于 n的所有质因数的list
然后再来一个循环,从list[0]开始判断,如果能整除,就给一个str加上。比如说被2整除了,那就是str = “2”,如果还被3,那就是str = “23”
然后循环的时候,套个while,对于每一个list里面的数,多试几次直到不行,然后继续下一个list中的质数。
最后去掉 str的第一个
,就可以了。(因为每一个都带一个*的话方便)

n = eval(input())
tmp, res = n, []
for i in range(2,n+1):
    while tmp%i==0:
        res.append(str(i))
        tmp //= i

print(n,'=','*'.join(res),sep='')