Python实现的质因式分解算法示例
本文实例讲述了Python实现的质因式分解算法。分享给大家供大家参考,具体如下:
本来想实现一个其它的基本数学算法问题,但是发现在实现之前必须得先完成分解质因式的算法。
没有去网上寻找什么比较好的求解算法,纯粹是按照自己的理解写了一个试探性求解算法。也就是在MIT公开课中教授提到的guess-try方法。代码实现如下:
#!/usr/bin/python defPrimeNum(num): r_value=[] foriinrange(2,num+1): forjinrange(2,i): ifi%j==0: break else: r_value.append(i) returnr_value defPrimeFactorSolve(num,prime_list): forninprime_list: ifnum%n==0: return[n,num/n] defPrimeDivisor(num): prime_range=PrimeNum(num) ret_vale=[] whilenumnotinprime_range: factor_list=PrimeFactorSolve(num,prime_range) ret_vale.append(factor_list[0]) num=factor_list[1] else: ret_vale.append(num) printret_vale PrimeDivisor(120)
程序执行结果如下:
E:\WorkSpace\01_编程语言\03_Python\python_exp07>pythonpython_exp07.py
[2,2,2,3,5]
抽取测试了其他的数据,从简单的例子计算看,结果还是准确的。
PS:这里再为大家推荐功能相似的本站在线工具供大家参考:
在线分解质因数计算器工具:
http://tools.jb51.net/jisuanqi/factor_calc
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。