码迷,mamicode.com
首页 > 编程语言 > 详细

python 哥德巴赫猜想

时间:2021-05-24 02:47:43      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:for   flag   family   假设   大于   开始   return   ==   pre   

""""
大于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")

python 哥德巴赫猜想

标签:for   flag   family   假设   大于   开始   return   ==   pre   

原文地址:https://www.cnblogs.com/ZhaoBa/p/14747149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!