Улучшение понимания списка, чтобы он работал быстрее - PullRequest
2 голосов
/ 31 октября 2019

Я создаю гипотезу Гольдбаха, которая выводит два простых числа с наивысшим произведением. Поскольку он стоит, когда входное значение является большим, решение занимает смехотворно много времени.

def prime_pair_solution(n):
    def isprime(n):

        n = abs(int(n))
        if n < 2:
            return False
        if n == 2: 
            return True
        if not n & 1: 
            return False

        k= int(n**0.5)+1
        for x in range(3, k, 2):
            if n % x == 0:
                return False
        return True

    count=(int(n/2)+(int(n/4)))

    y=[(p2,p1)for p1 in range (2,count) for p2 in range(p1,count) if isprime(p1) and isprime(p2) and (p1+p2)==n]
    return y[-1]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...