哥德巴赫 猜想[8,1000]
大于8的偶数都可拆分两个素数之和
“”""
大于8的偶数都可拆分两个素数之和
判断8、10、12、、、能否拆成2个素数之后
拆分: n:m 和 n-m
分别去判断m,n-m是否是素数 10 :
n m
1 9
2 8
3 7
4 6
5 5
6 4
“”"
def isPrime(n):
i = 2
flag = True ##假设是素数
while i <= n - 1:
# 判断i 能否把 n 整除
if n % i == 0: ## n被i整除了,不是素数
flag = False
i += 1
return flag
def canSplit(n):
for m in range(1,n//2 + 1 ): ##n 拆分为:m,n - m
if isPrime(m) and isPrime(n-m): #判断 m ,n 是否为素数
return True
return False
###-------- 这是开始的地方 ---------------
flag = True # 假设 哥德巴赫猜想 成立的
for n in range(8,1000,2):
if not canSplit(n):
flag = False
if flag:
print("哥德巴赫猜想 OK ")
else:
print(“哥德巴赫猜想 NO,error”)