优化哥德巴赫猜想算法

时间:2019-02-13 07:36:44

标签: python optimization time

我做了一个哥德巴赫猜想练习,并使它起作用。不过,它非常慢,我想知道如何优化它。

number = int(input("Enter your number >> "))
print("\nCalculating...")
if number % 2 == 0: #Only even numbers
    primes = primenums(number) #returns all prime numbers <= input number
    addend1 = primes[0]
    addend2 = primes[0]

    while addend1 + addend2 != number:
        if primes.index(addend2) + 1 == len(primes):
            addend2 = primes[primes.index(addend1) + 1]
            addend1 = primes[primes.index(addend1) + 1]
        else:
            addend2 = primes[primes.index(addend2) + 1]

现在,最多10.000的算法非常快,但是到100.000时,大约需要5秒钟才能完成。就是这样吗?还是我可以加快速度?

1 个答案:

答案 0 :(得分:0)

如果p<n是素数,检查每个素数n-p会更容易/更快。