This Python program reads multiple even numbers greater than 2 and checks whether each can be expressed as the sum of two prime numbers.
The program continues until the user chooses to exit.
def is_prime(num: int) -> bool:
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def goldbach_pair(even_num: int):
for i in range(2, even_num):
if is_prime(i) and is_prime(even_num - i):
return (i, even_num - i)
return None
def main():
while True:
try:
n = int(input("Enter an even number greater than 2 (or 0 to exit): "))
if n == 0:
print("Exiting program.")
break
if n <= 2 or n % 2 != 0:
print("Number must be even and greater than 2.")
continue
pair = goldbach_pair(n)
if pair:
print(f"{n} = {pair[0]} + {pair[1]}")
else:
print(f"No prime pair found for {n}.")
except ValueError:
print("Please enter a valid integer.")
Enter an even number greater than 2 (or 0 to exit): 28
28 = 5 + 23
Enter an even number greater than 2 (or 0 to exit): 44
44 = 3 + 41
Enter an even number greater than 2 (or 0 to exit): 0
Exiting program.