
请问各位这个如何解决呀,我初学Python不太熟练,不确定这个如何解答,大家可以帮忙看看吗,麻烦大家了!
关注
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
def is_prime(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 prime_list(n):
"""
获取小于n的所有素数
"""
primes = []
for i in range(2, n):
if is_prime(i):
primes.append(i)
return primes
def goldbach_conjecture(n):
"""
获取n的所有哥德巴赫猜想解中p最小的解
"""
primes = prime_list(n)
for p in primes:
q = n - p
if is_prime(q) and p <= q:
return f"{n} = {p} + {q}"
return None
if __name__ == '__main__':
n = 18
print(goldbach_conjecture(n))
