Etiqueta

G-HVW1FCKRWL

lunes, 28 de abril de 2025

Testeo de la ecuación de goldbach en Python

Estimados lectores,

Aquí va el código en Python para hacer el testeo de la ecuación de Goldbach:

def es_primo(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True

def lista_primos_con_1(hasta):
    """Genera lista de primos estándar + el 1 al principio."""
    primos = [1]
    for num in range(2, hasta+1):
        if es_primo(num):
            primos.append(num)
    return primos

def encontrar_goldbach(Canterior, Cobjetivo):
    primos = lista_primos_con_1(Cobjetivo)
    for i, pi in enumerate(primos):
        if pi == 1:
            continue # saltar el 1 como pi
        # calcular v: sumando todas las diferencias*2 desde pi hasta 1
        v = 0
        for j in range(i, 0, -1):
            v += (primos[j] - primos[j-1]) * 2
        d = abs(v - Canterior)
        s = pi + d
        if es_primo(s) and (pi + s == Cobjetivo):
            return (pi, s)
    return None

# Ejemplo de uso
Canterior = 98
Cobjetivo = 100
resultado = encontrar_goldbach(Canterior, Cobjetivo)

if resultado:
    print(f"{Cobjetivo} = {resultado[0]} + {resultado[1]}")
else:
    print(f"No se encontró descomposición para {Cobjetivo}.")

---

¿Qué hace?

Calcula v sumando las diferencias hacia atrás hasta el 1.

Calcula d = |v - Canterior|.

Calcula s = pi + d.

Verifica si s es primo y pi + s = Cobjetivo.

Si encuentra, devuelve el par (pi, s).

Si no, dice que no encontró.


Saludos,

Maxi

No hay comentarios:

Publicar un comentario

Diálogo con la I.A.: Causalidad de Granger

 Un tema importante en Econometría es el de determinar que variable o variables explican uno o varios sucesos económicos. Cabe recordar que ...