在数学中,我们可能会对一个数进行因式分解,如何用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)
顺便熟悉一下怎么用CSDN写文章~~完结,撒花!!!