Python用函数思想完成哥德巴赫猜想代码分析
作者:漫不经心 时间:2022-05-05 11:42:06
哥德巴赫猜想:大于8的偶数之和都可以被两个素数相加
范围 8 - 10000
思路:
首先不要去管需要什么什么东西实现,所以我们如果知道如何去完成:
大于8的偶数之和都可以被两个素数相加:
# 可以假设 这个猜想是正确的。
# 设一个变量是true
flag = True
# 确定范围 8 - 10000
for fanwei in range(8,10000,2):
# 如果猜想错误如何?
if not caixiang(fanwei):
flag = False
# 正确又如何错误又如何?
if flag = True:
print('猜想正确')
else:
print('猜想错误')
之后我们去写一个函数 来确定这个猜想是否正确,正确就返回 True
def caixiang(n):
# 这里需要所有的素数 8 - 10000的
# 这里的目的是为了拆分出两素数参数n 和 循环名 m 两个变量
for m in range(1,n//2+1):
if sushu(m) and sushu(n-m):
return True
return False
最后发现还要判断是否是素数:
def sushu(n):
su = 0
for i in range(1,n-1):
c = n%i
if c == 0:
su += 1
return True
这样这个哥德巴赫猜想就完成了。
思路扩展:
思路:
可以定义两个函数,一个判断是否为素数,一个分解。利用前面的两个函数生成n范围内的素数列表。如果两层for循环中的两个迭代变量之和等于参数n,就将这两个变量加入列表中,循环完所有的情况后返回列表,并打印输出。
参考代码:
import math
def isprime(n): #判断素数
if n == 1:
return False
elif n == 2:
return True
else:
for i in range(2,int(math.sqrt(n)+1)):
if n%i == 0:
return False
return True
def thonsand(n) : #生成若干个素数,返回素数list
a = []
for i in range(1,n+1):
if isprime(i):
a.append(i)
return a
"""利用前面的两个函数生成n范围内的素数列表
两层for循环,两个迭代变量之和如果等于参数n就加入列表中
循环完所有的情况后返回列表,并打印输出。
"""
def gdbh(n):
a =[]
ls = thonsand(n)
for i in ls:
for j in ls:
if n == i+j:
a.append(i)
a.append(j)
return a
ls2 = gdbh(12)
ls3 = gdbh(152)
print(ls2)
print(ls3)
两个测试数据 12,152
输出如下;
[5, 7, 7, 5]
[3, 149, 13, 139, 43, 109, 73, 79, 79, 73, 109, 43, 139, 13, 149, 3]
来源:https://www.cnblogs.com/dpdd/p/14851936.html
标签:Python,哥德巴赫猜想
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2023-11-14 11:10:27
![](https://img.aspxhome.com/file/2023/5/125055_0s.jpg)
深入浅析Python科学计算库Scipy及安装步骤
2022-06-29 12:11:30
Python基于纹理背景和聚类算法实现图像分割详解
2023-11-15 20:05:46
![](https://img.aspxhome.com/file/2023/7/72197_0s.png)
python+opencv实现论文插图局部放大并拼接效果
2023-12-07 17:29:12
![](https://img.aspxhome.com/file/2023/2/92442_0s.png)
Python实现矩阵加法和乘法的方法分析
2023-07-30 09:39:06
python实现Zabbix-API监控
2022-04-23 17:41:00
![](https://img.aspxhome.com/file/2023/5/71505_0s.jpg)
网页新窗口打开好不好,数据说话
2008-05-31 17:01:00
![](https://img.aspxhome.com/file/UploadPic/up/2008053117181324.gif)
Python实现的大数据分析操作系统日志功能示例
2022-07-31 00:40:34
python高斯分布概率密度函数的使用详解
2023-08-18 15:07:24
![](https://img.aspxhome.com/file/2023/5/123575_0s.jpg)
tensorflow使用range_input_producer多线程读取数据实例
2022-10-19 16:43:21
Python中Collection的使用小技巧
2022-04-14 01:42:57
Tensorflow获取张量Tensor的具体维数实例
2021-12-24 20:25:10
深入探讨opencv图像矫正算法实战
2022-06-03 16:20:39
![](https://img.aspxhome.com/file/2023/8/102858_0s.jpg)
JavaScript防抖与节流超详细全面讲解
2023-09-22 07:05:13
![](https://img.aspxhome.com/file/2023/4/55984_0s.gif)
为你的有序列表添加个性样式
2009-02-23 13:12:00
![](https://img.aspxhome.com/file/UploadPic/20092/23/ol-overview-60s.gif)
详解利用python+opencv识别图片中的圆形(霍夫变换)
2023-12-07 18:17:50
![](https://img.aspxhome.com/file/2023/4/92354_0s.jpg)
python将字母转化为数字实例方法
2021-12-04 03:40:17
![](https://img.aspxhome.com/file/2023/0/109890_0s.png)
Python如何安装第三方模块
2023-08-01 12:50:07
Python中捕获键盘的方式详解
2021-06-14 15:23:41
Mysql远程访问的开启
2009-12-17 12:27:00