分解質因數: 任何一個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合數。
比如:
8 分解質因數是:2*2*2
10分解質因數是:2*5
4分解質因數是:2*2
此處使用 python 遞歸函數 實現對一個數的質因數分解。
代碼如下:
#!/user/bin env python # author:Simple-Sir # time:2019/8/19 16:55 # 分解質因數 li = [] def fun(n): if n != 1: for i in range(2, n+1): if n % i == 0: if n/i == 1.0: print('%d已經無法再分解!' % (n)) li.append(i) break else: print('%d已被%d分解:%d / %d = %d' % (n,i,n,i,int(n/i))) n = int(n / i) li.append(i) else: continue return fun(n) def main(n): fun(n) print('分解完成,{}的質因數是: {}'.format(n,li)) if __name__ == '__main__': main(90)
運行結果: