python ProjectEuler问题23回答。来自http://codereview.stackexchange.com/questions/39946/optimizing-solution-

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python ProjectEuler问题23回答。来自http://codereview.stackexchange.com/questions/39946/optimizing-solution-相关的知识,希望对你有一定的参考价值。

def is_abundant(n):
    max_divisor = int(n / 2) + 1
    sum = 0
    for x in range(1, max_divisor):
        if n % x == 0:
            sum += x  
    return sum > n

abundants = list(x for x in range(1, 28123) if is_abundant(x))

sums = 0
for i in range(12, 28123):
    for abundant in abundants:
        if abundant >= i and is_abundant(i + abundant):
            sums += i
print(sums)

以上是关于python ProjectEuler问题23回答。来自http://codereview.stackexchange.com/questions/39946/optimizing-solution-的主要内容,如果未能解决你的问题,请参考以下文章

python 使用FP样式的Python解决https://projecteuler.net/problem=2。获取斐波纳契序列中从1到1的所有偶数的总和

Python练习题 043:Project Euler 015:方格路径

Python练习题 035:Project Euler 007:第10001个素数

Python 中的列表范围 - Project Euler 007

Python练习题 047:Project Euler 020:阶乘结果各数字之和

Python练习题 041:Project Euler 013:求和取前10位数值