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

素数分解-列表

素数分解-列表

一个简单的审判部门:

def primes(n):
    primfac = []
    d = 2
    while d*d <= n:
        while (n % d) == 0:
            primfac.append(d)  # supposing you want multiple factors repeated
            n //= d
        d += 1
    if n > 1:
       primfac.append(n)
    return primfac

具有O(sqrt(n))复杂性(最坏的情况)。您可以通过特殊情况2并仅在奇数上循环d(或特殊情况下将更多小质数并在可能的除数上循环)来轻松改进它。

其他 2022/1/1 18:30:50 有653人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶