您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中分解数字

在Python中分解数字

Eratosthenes筛网可帮助您找到低于特定极限的质数。并不能真正帮助您找到特定数字的因数。

如果您想这样做,我可以看到的最简单的方法是这样的:

def factors(n):
    while n > 1:
        for i in range(2, n + 1):
            if n % i == 0:
                n /= i
                yield i
                break

for factor in factors(360):
    print factor

这基本上找到的最小因子n(保证为质数),除以n该数字,然后重复该过程直到n等于1

输出为:

2
2
2
3
3
5

它们乘以原始数:

>>> from operator import mul
>>> reduce(mul, factors(360))
360
python 2022/1/1 18:46:55 有322人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶