本文摘自php中文网,作者不言,侵删。
这篇文章主要介绍了Python实现的质因式分解算法,涉及Python数学运算相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现的质因式分解算法。分享给大家供大家参考,具体如下:
本来想实现一个其它的基本数学算法问题,但是发现在实现之前必须得先完成分解质因式的算法。
没有去网上寻找什么比较好的求解算法,纯粹是按照自己的理解写了一个试探性求解算法。也就是在MIT公开课中教授提到的guess-try方法。代码实现如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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实现的求解最大公约数算法示例
以上就是Python实现的质因式分解算法示例的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python如何使用正则表达式排除集合中字符的功能详解
Python的2d绘图库matplotlib的安装方法及功能介绍
Python获取昨天、今天、明天开始、结束时间戳的方法
学习用Python实现简单的人脸识别
基于Python如何实现计算两组数据p值
Python怎么安装scipy
Python内置模块
Python函数之divmod数字处理函数
大学有Python课吗
Python中如何重命名多个文件
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python实现的质因式分解算法示例