首页 > 其他 > 详细

歌德巴赫猜想:验证6到100的偶数,都能表示成两个素数之和。

时间:2019-07-03 09:27:50      阅读:151      评论:0      收藏:0      [点我收藏+]
 1 from math import sqrt
 2 for n in range(6,101,2): #遍历验证m1从3到n/2的奇数
 3     #n=m1+m2             #验证m1是否为素数
 4     for m1 in range(3,int(n/2)+1,2): #flag1表示m1是否为素数,初值为真
 5         p1=int(sqrt(m1))
 6         flag1=True
 7         for i in range(2,p1+1):
 8             if m1%i==0:
 9                 flag1=False #如果能被除尽,则不是素数,flag1为假。
10                 break
11             if flag1:       #如果m1是素数,验证m2是否为素数。
12                 m2=n-m1
13                 p2=int(sqrt(m2))
14                 flag2=True  #flag2表示m2是否为素数,初值为真。
15                 for i in range(2,p2+1):
16                     if m2%i==0:
17                         flag2=False
18                         break
19                 if flag2: 如果m2是素数,n能表示为两素数之和,输出。
20                     print("%3d=%2d+%d" %(n,m1,m2),end="\t")
21                     break

 

歌德巴赫猜想:验证6到100的偶数,都能表示成两个素数之和。

原文:https://www.cnblogs.com/bcyczhhb/p/11124156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!