小编jdw*_*996的帖子

在幼稚的整数分解中,Haskell比Python慢​​吗?

我正在学习数学课程,我们必须做一些整数分解作为问题的中间步骤.我决定编写一个Python程序来为我做这个(我们没有测试我们的因素能力,所以这完全在板上).该计划如下:

#!/usr/bin/env python3

import math
import sys

# Return a list representing the prime factorization of n. The factorization is
#   found using trial division (highly inefficient).
def factorize(n):

    def factorize_helper(n, min_poss_factor):
        if n <= 1:
            return []
        prime_factors = []
        smallest_prime_factor = -1
        for i in range(min_poss_factor, math.ceil(math.sqrt(n)) + 1):
            if n % i == 0:
                smallest_prime_factor = i
                break
        if smallest_prime_factor != -1:
            return [smallest_prime_factor] \
                   + factorize_helper(n // smallest_prime_factor,
                                      smallest_prime_factor)
        else:
            return [n]

    if n < 0: …
Run Code Online (Sandbox Code Playgroud)

python performance haskell factoring

4
推荐指数
1
解决办法
298
查看次数

标签 统计

factoring ×1

haskell ×1

performance ×1

python ×1