PETRUS ROMANUS

CONJECTURA DE GOLDBACH
O programa a seguir solicita um número (par). Depois disso, faz uma varredura para encontrar dois números primos cuja soma dê o número par informado. Cuidado: para gerar tabelas, utilizei o módulo tabulate (instale-o em sua IDE antes de executar).
from tabulate import tabulate
from time import sleep as delay
from math import factorial
print("Conjectura de Goldbach")
numero = int(input('Informe o número par: '))
lista =[]
conta_primos = 0
conta_div = 0
recebe_soma = []
print("Calculando os primos...")
delay(1)
for i in range (1, numero+1):
for d in range (1, i//2 + 1):
if (i % d == 0):
conta_div = conta_div + 1
if (conta_div > 1):
break
conta_div = conta_div + 1
if (conta_div == 2):
lista.append(i)
conta_primos = conta_primos + 1
conta_div = 0
final = len(lista)
print("%d primos encontrados" %(final))
delay(1)
num_ad = factorial(final)/(factorial(final-2)*factorial(2)) + final
print("Realizando %d adições..." %(num_ad))
delay(1)
for i in range (len(lista)):
for d in range (i,len(lista)):
if lista[i] + lista[final-1] == numero:
recebe_soma.append([lista[i],lista[final-1],lista[i]+lista[final-1]])
final -= 1
final = len(lista)
delay(1)
print("Cálculos terminados...\nPreparando tabela...")
delay(1)
print(tabulate(recebe_soma,headers = ["Primo 1","Primo 2","P1 + P2"], numalign = "center", stralign = "center", tablefmt = "grid"))
No vídeo abaixo, você pode ver como funciona:

Solicitando ao programa que encontre números primos cuja soma dê 66 (e depois 1024).
A Conjectura de Goldbach diz que qualquer número par maior que 2 pode ser escrito como a soma de dois primos. É um dos problemas matemáticos mais antigos não resolvidos.