График Гольдбаха с использованием sagemath

Я изучаю sagemath (использует python 3.0), и я пытаюсь сделать гипотезу Гольдбаха, код (идет нормально!):

      def Goldbach(n):
if n%2!=0 or n<=2:
    show("No és parell")
else:
    for i in srange(n):
        if is_prime(i):
            for j in srange(n):
                if is_prime(j) and i+j==n:                        
                    a=[i,j]
                    show(a)
return

Теперь я пытаюсь (не знаю) сделать следующий сюжет:

Обозначая r(2k)как и количество разбиений Гольдбаха на 2k, гипотеза утверждает, что r(2k)>0 if k>1.

Я должен сделать график точек (k, r(2k)), k>2. Как я мог это сделать?

1 ответ

Прежде всего, давайте лучше реализуем в Sage подпрограмму, подсчитывающую число r(K) (K>2 некоторое четное целое число) решений для

p+q=2k , p,q простые числа.

(Мы будем считать оба решения (p,q) и (q,p) , когда p,q различаются.)


      def r(K):
    if K not in ZZ or K <= 2 or K % 2:
        return None
    if K == 4:
        return 1
    count = 0
    for p in primes(3, K):
        for q in primes(3, K + 1 - p):
            if p + q == K:
                count += 1
    return count

goldbach_points = [(K, r(K)) for K in range(4, 100,2)]
show(points(goldbach_points))

Это дает:

Другие вопросы по тегам