python

超轻量级php框架startmvc

Python实现的对一个数进行因式分解操作示例

更新时间:2020-07-09 17:30:01 作者:startmvc
本文实例讲述了Python实现的对一个数进行因式分解操作。分享给大家供大家参考,具体如下

本文实例讲述了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 因式分解