algorithms icon indicating copy to clipboard operation
algorithms copied to clipboard

Add `Goldbach's conjecture` Algorithm

Open lemorage opened this issue 2 years ago • 4 comments

Goldbach's conjecture states that every even natural number greater than 2 is the sum of two prime numbers.

lemorage avatar Nov 24 '23 19:11 lemorage

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

def goldbach_conjecture(even_number):
    if even_number <= 2 or even_number % 2 != 0:
        print("Please provide an even number greater than 2.")
        return

    for i in range(2, even_number // 2 + 1):
        if is_prime(i) and is_prime(even_number - i):
            print(f"{even_number} = {i} + {even_number - i}")
            return

    print("Goldbach's conjecture is not applicable for this even number.")

# Example usage
even_number_to_check = 28  # Replace this with any even number greater than 2
goldbach_conjecture(even_number_to_check)

jaki729 avatar Nov 26 '23 06:11 jaki729

There is already a prime_check function out of there, maybe using this would be better?

lemorage avatar Nov 26 '23 18:11 lemorage

Yes, thats correct but using square root method used for the calculations of prime numbers is the effecient and loogical way for doing it as it is also good for large numbers or big integer values. And Goldbach's conjecture algorithm is the unsolved art of mathematics.

jaki729 avatar Nov 27 '23 07:11 jaki729

Ya, quite reasonable, I agree.

lemorage avatar Nov 27 '23 22:11 lemorage