利用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)

顺便熟悉一下怎么用CSDN写文章~~完结,撒花!!!

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值