График Гольдбаха с использованием 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))
Это дает: