文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python练习:哥德巴赫猜想

2023-01-30 23:12

关注

哥德巴赫 1742 年给欧拉的信中哥德巴赫提出了以下猜想:任一大于 2 的偶数都可写成两个质数之和。但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,但是一直到死,欧拉也无法证明。因现今数学界已经不使用“1 也是质数”这个约定,原初猜想的现代陈述为:任一大于 5 的偶数都可写成两个质数之和。

功能拆解成几个小程序:

  • 用户输入值的判断:当值为数字是返回True,否则返回False
  • 奇数、偶数判断:当值为偶数时返回True,否则返回False
  • 质数的判断:质数是数学上的定义,指的是只能被1和它本身整除的数字。通过遍历整除的结果即可判断。
 1 def isEven( num ):
 2     #判断是否是偶数
 3     if num % 2 == 0:
 4         return True
 5     else:
 6         return False
 7 
 8 def isPrime( num ):
 9     #判断是否是质数
10     from math import sqrt
11     if num == 0 or num == 1:
12         flag = False
13     elif num == 2:
14         flag = True
15         
16     else:
17         for i in range(2, num):
18             if num % i == 0:
19                 flag = False
20                 break
21             else:
22                 flag = True
23     return flag
24 
25 def isNum( string ):
26     #判断是否是数值
27     if string.isdigit():
28         return True
29     else:
30         return False
View Code

核心的功能已经完成函数化后,组合这些函数完成编程的目标:输入任意一个大于5的偶数,证明这个偶数符合哥德巴赫猜想,并显示是哪两个质数。

 1 respone = input('请输入一个大于5的偶数:')
 2 if isNum(respone): #判断输入是否为整数
 3     respone = int(respone) #判断是否是大于5的偶数
 4     if (respone > 5) and isEven(respone):
 5          #进行猜想判断
 6         i_list = []
 7         for i in range(1,respone):
 8             j = respone - i #分解为两个数字
 9             if isPrime(i) and isPrime(j):
10                 i_list.append(i) #记录已显示的数字
11                 if j in i_list:
12                     pass
13                 else:
14                     print( '{0} = {1} + {2}'.format(respone, i, j))
15     else:
16         print('输入错误!')
17 else:
18     print('输入错误!')
View Code

显示结果:

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯