Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

Hace algunos años en el cole, junto con nuestro profe de matemáticas, leímos un libro titulado: El tío Petros y la conjetura de Goldbach, me causo gran interés y curiosidad en ese momento saber más acerca de esta hipótesis matemática y ahora que he aprendido Python he realizado una simulación de dicha conjetura.

La conjetura de Goldbach:

La conjetura de Goldbach es una famosa hipótesis matemática propuesta por el matemático prusiano Christian Goldbach en 1742. Afirma lo siguiente: “Todo número par mayor que 2 puede expresarse como la suma de dos números primos”.

En otras palabras, según la conjetura de Goldbach, cualquier número par mayor que 2 se puede descomponer en la suma de dos números primos. Por ejemplo, el número 4 se puede expresar como 2 + 2, donde tanto 2 como 2 son números primos. Otro ejemplo es el número 10, que se puede expresar como 3 + 7, ya que tanto 3 como 7 son números primos.

A pesar de su simplicidad aparente, la conjetura de Goldbach ha sido objeto de interés y estudio durante muchos años. Aunque se ha comprobado exhaustivamente para números pares extremadamente grandes, aún no ha sido demostrada matemáticamente para todos los números pares. Por lo tanto, sigue siendo una conjetura sin resolver en el campo de la teoría de números.

Simulación en Python:

'''
---- CONJETURA DE GOLDBACH ----
Todo número par mayor que 2 se puede expresar como suma de dos números primos.

Para el número 14 tendríamos: 3 y 11, 7 y 7
(1 y 13 no valdrian, ya que el uno no es considerado un primo)

Hacer un programa que muestre todas las parejas de primos en las quese puede
expresar un número par mayor que 2.
'''
# funciónque me permite saber si un número es primo o no
defes_primo(n):
    ifn < 2:
        returnFalse
    for i inrange(2,n): # se excluye el  1 y el mismo numero
        ifn % i == 0:
            returnFalse
    returnTrue

# uniendo las parejas 
num = int(input("Número par mayor que 2: "))
if num % 2 == 0and num > 2: #condición para verificar que el numero sea par y mayor que 2
  encontrado = False
  for a inrange (2, num):
    if es_primo(a):
      #se toma num(14) y se le resta el primer numero primo a(3) y si el resultado b(11) es un numero primo, seforma una pareja (a,b) y asi hasta terminar el ciclo.
      b = num - a 
      if es_primo(b):
        encontrado = True
        if a <= b: #condición para evitar quese repitan las parejas
          print("Primos",a,b) #mostrar en pantalla las parejas

  ifnot encontrado:
    print("No se ha encontrado ninguna pareja")
else:
  print ("No es un numero valido")

Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados