Skip to content

Commit a9404a5

Browse files
committed
Add goldbach_conjecture.py implementing Goldbach’s Conjecture
1 parent d1a9486 commit a9404a5

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

maths/goldbach_conjecture.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
def is_prime(n: int) -> bool:
2+
if n < 2:
3+
return False
4+
for i in range(2, int(n ** 0.5) + 1):
5+
if n % i == 0:
6+
return False
7+
return True
8+
9+
10+
def goldbach(n: int) -> tuple[int, int] | None:
11+
"""
12+
Returns a pair of prime numbers that sum to the given even integer n,
13+
according to Goldbach's Conjecture.
14+
15+
Example:
16+
goldbach(10) -> (3, 7)
17+
"""
18+
if n <= 2 or n % 2 != 0:
19+
return None
20+
for i in range(2, n // 2 + 1):
21+
if is_prime(i) and is_prime(n - i):
22+
return (i, n - i)
23+
return None

0 commit comments

Comments
 (0)