本文实例讲述了Python实现的对一个数进行因式分解操作。分享给大家供大家参考,具体如下:
在数学中,我们可能会对一个数进行因式分解,如何用Python来实现呢?以下是某位大佬写的算法,这里拿过来直接用就可以了。
# 对一个数进行因式分解 def factorization(num): factor = [] while num > 1: for i in range(num - 1): k = i + 2 if num % k == 0: factor.append(k) num = int(num / k) break return factor
我们调用这个函数,并引入time库进行时间计算
st = time.perf_counter() print(factorization(707829217)) et = time.perf_counter() print("用时:", et - st)
可以看到最后的打印结果为:
[8171, 86627]
用时: 0.0064456
可以看到因式分解还是非常快的,所以在这里非常感谢这位大佬啦~
最后附上完整版,供大家使用(复制到你的IDE中,然后只要修改数字即可)
import time # 对一个数进行因式分解 def factorization(num): factor = [] while num > 1: for i in range(num - 1): k = i + 2 if num % k == 0: factor.append(k) num = int(num / k) break return factor st = time.perf_counter() print(factorization(707829217)) et = time.perf_counter() print("用时:", et - st)
运行结果:
[8171, 86627]
用时: 0.039954294630645655
PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:
在线
分解质因数
计算器工具:
http://tools.jb51.net/jisuanqi/factor_calc
在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。