• Matéria: Informática
  • Autor: jmedeirosmelo
  • Perguntado 8 anos atrás

A famosa conjectura de GOLDBACH diz que todo inteiro maior que 2 é a soma de dois números primos. Testes extensivos foram feitos sem contudo ser encontrado um contra-exemplo. Escreva um programa mostrando que a afirmação é verdadeira. Para todo número par entre 700 e 1100 o programa deve imprimir cada número e os seus correspondentes primos.
Alguém me ajuda??

Respostas

respondido por: bokomoko
0
Em Python fica assim

def eh_prim(numero):
  for i in range(2,int(numero/2)+1):
    if numero % i == 0 :
      return False 
  return True
   
conjectura_falhou = True

for i in range(700,1100+1,2):
    for j in range(2,int(i/2)+1):
      deu_certo = (eh_prim(j) and eh_prim(i-j))
      if deu_certo:
         print("O número ",i," pode ser a soma de ",j," e ",i-j)
      conjectura_falhou = conjectura_falhou and deu_certo
    if conjectura_falhou:
       print("A conjectura falhou para ",i)

Pode rodar o programa aqui https://repl.it/@bokomoko/Goldbach
respondido por: nicolefpruvinelli
0

Em Python fica assim

def eh_prim(numero):

 for i in range(2,int(numero/2)+1):

   if numero % i == 0 :

     return False  

 return True

   

conjectura_falhou = True

for i in range(700,1100+1,2):

   for j in range(2,int(i/2)+1):

     deu_certo = (eh_prim(j) and eh_prim(i-j))

     if deu_certo:

        print("O número ",i," pode ser a soma de ",j," e ",i-j)

     conjectura_falhou = conjectura_falhou and deu_certo

   if conjectura_falhou:

      print("A conjectura falhou para ",i)

Perguntas similares