這篇文章主要介紹了Python實現的質因式分解演算法,涉及Python數學運算相關操作技巧,需要的朋友可以參考下
本文實例講述了Python實現的質因式分解演算法。分享給大家供大家參考,具體如下:
本來想實現一個其它的基本數學演算法問題,但是發現在實現之前必須得先完成分解質因式的演算法。
沒有去網路上尋找什麼比較好的求解演算法,純粹是按照自己的理解寫了一個試探性求解演算法。也就是在MIT公開課中教授提到的guess-try方法。程式碼實作如下:
#!/usr/bin/python def PrimeNum(num): r_value =[] for i inrange(2,num+1): for jin range(2,i): ifi % j == 0: break else: r_value.append(i) returnr_value def PrimeFactorSolve(num,prime_list): for n inprime_list: ifnum % n == 0: return[n,num / n] def Primepisor(num): prime_range= PrimeNum(num) ret_vale =[] while numnot in prime_range: factor_list= PrimeFactorSolve(num,prime_range) ret_vale.append(factor_list[0]) num =factor_list[1] else: ret_vale.append(num) printret_vale Primepisor(120)
程式執行結果如下:
E:\WorkSpace\01_程式語言\03_Python\python_exp07> ;pythonpython_exp07.py
[2, 2, 2, 3, 5]
抽取測試了其他的數據,從簡單的例子計算看,結果還是準確的。
相關建議:
以上是Python實現的質因式分解演算法範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!