本文实例讲述了Python实现的对一个数进行因式分解操作。分享给大家供大家参考,具体如下:
在数学中,我们可能会对一个数进行因式分解,如何用Python来实现呢?以下是某位大佬写的算法,这里拿过来直接用就可以了。
1
2
3
4
5
6
7
8
9
10
11
|
# 对一个数进行因式分解
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库进行时间计算
1
2
3
4
|
st = time.perf_counter()
print (factorization( 707829217 ))
et = time.perf_counter()
print ( "用时:" , et - st)
|
可以看到最后的打印结果为:
[8171, 86627]
用时: 0.0064456
可以看到因式分解还是非常快的,所以在这里非常感谢这位大佬啦~
最后附上完整版,供大家使用(复制到你的IDE中,然后只要修改数字即可)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/qq_39321542/article/details/89287248