用python验证冰雹猜想_用Pythony验证万物归一(考拉咨猜想)
世界上存在一种这样的猜想,无论你给我什么,如何待我,我会慢慢把它捶打磨练,最后达到天人合一.额,其实是我瞎编的啦.其实世界上有一种跟我瞎编的东西很像,那么就是考拉咨猜想:你随便给我一个整数,我最后都是会通过固定的规则演变成"1",万物归一.
那么这个规则是什么呢?
我拿到一个数number:
奇数则number= 3 * number + 1;
偶数则number= number // 2;
猜想:对于每一个正整数,如此循环,最终都能够得到1。
那么我们就用Python验证一下这个猜想
#!/usr/bin/env python3
# coding=utf-8
__author__ = "RidingRoad"
START_NUMBER = 1
END_NUMBER = 1000001
def collatz_seq(number):
"""
获取到的number是奇数,则number= 3 * number + 1;
偶数则number= number // 2;
如果考拉咨猜想真的成立,可以number=1,那么程序将会停止,否则,考拉咨猜想不成立
:return:1
"""
while True:
if number == 1:
return number
else:
# number为偶数
if not number % 2:
number = number // 2
else:
# number为奇数
number = 3 * number + 1
if __name__ == "__main__":
# 存放验证考拉咨猜想函数的结果
result = []
for i in range(START_NUMBER, END_NUMBER):
# 验证START_NUMBER, END_NUMBER之间的数
result.append(collatz_seq(i))
# 显示结果
print(result)
下面是1到1000,000的数字进行考拉咨猜想验证的结果
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,......]
可以看到:万里挑一啊, so easy
古人的猜想,如果还是基于传统的计算工具,那是多么的无聊单调,我们可以用Python来瞬间完成,感谢龟叔哦.
这里我们就不自己肉眼判断了,我们用filter
def verify(num):
"""判断结果里的不是1的数"""
return 1 != num
if __name__ == "__main__":
# 存放验证考拉咨猜想函数的结果
result = []
for i in range(START_NUMBER, END_NUMBER):
# 验证START_NUMBER, END_NUMBER之间的数
result.append(collatz_seq(i))
# 使用filter对结果进行判断是否存在非1的数
print(list(filter(verify,result)))
"""
filter(function or None, iterable) --> filter object
Return an iterator yielding those items of iterable for which function(item)
is true. If function is None, return the items that are true.
"""
结果
输出了一个[]空列表,说明result列表里全部为一,考拉咨猜想是可能正确的.为什么说可能,是因为我只验证了1到1000000的数字.
[]
我的个性签名:Focusing on the Python and firmly convincing that nothing can replace hard work.需要完整的代码关注我的公众号Python孙行者,聊天界面回复"万物归一",即可获取.欢迎大家关注我的公众号.
用python验证冰雹猜想_用Pythony验证万物归一(考拉咨猜想)相关推荐
- Python3:Collatz 序列(考拉咨猜想)
Python3:Collatz 序列(考拉咨猜想) 需求: 编写一个名为collatz()的函数,它有一个名为number的参数: 如果参数是偶数,那么collatz()就打印出number//2,并 ...
- python学习_实现一个考拉咨猜想
要求: 编写一个名为collatz()的函数,它有一个名为number 的参数.如果参数是偶数,那么collatz()就打印出number // 2,并返回该值.如果number 是奇数,collat ...
- Collatz 序列(考拉咨猜想),用Python自动化无聊的东西-chapter3
编写一个名为的函数collatz(),它有一个名为的参数number.如果number是偶数,那么collatz()应该打印number // 2并返回这个值.如果number是奇数,collatz( ...
- 《Python编程快速上手——让繁琐工作自动化》笔记:3.11 实践项目 Collatz 序列(考拉咨猜想)
编写一个名为collatz()的函数,它有一个名为number的参数: 如果参数是偶数,那么collatz()就打印出number//2,并返回该值: 如果number是奇数,那么collatz()就 ...
- 身份证验证 校验码_用户身份验证最佳做法清单
身份证验证 校验码 用户身份验证是每个Web应用程序共享的功能. 我们已经实施了很多次了,所以早就应该完善它了. 然而,错误无时无刻不在. 造成这种情况的部分原因是,可能出错的事情列表很长. 您可能会 ...
- python tus股票数据分析_用TuShare验证股市中的“春节效应”
在中国股民的印象中,农历年后股市一般上涨的概率较大,所以很多投资者会在农历年前买入股票,以待年后股市上涨收取红包,这叫做股市中的"春节效应".那么实际上存不存在这种"春节 ...
- java表单验证手机号码位数_正则手机号码验证(一)
function Checkreg() { //验证电话号码手机号码,包含153,159号段 if (document.form.phone.value=="" && ...
- python证明冰雹猜想_如果冰雹猜想被证明了。那数学会有很大突破吗?
建议不要在社交软件评论区讨论数学[数学狂]最容易理解的数学未解之谜 -- 克拉茨猜想_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com 克拉茨猜想or冰雹猜想 结合 ...
- python验证角谷_角谷猜想-随心随性无为而为-51CTO博客
问题描述: 角谷猜想的内容为:任意给定一个自然数,若它为偶数则除以2,若它为奇术则乘3加1,得到一个新的自然数.按照这样的计算方法计算下去,若干次后得到的结果必然为1. 编写程序对角谷猜想的正确性加以 ...
最新文章
- MySQL中的锁(表锁、行锁)
- busmaster 使用教程_Busmaster使用.pdf
- 基础平台为第三方应用接入提供oauth2认证接口
- mysql alter更新_MySQL 操作命令梳理(2)-alter(update、insert)
- java volatile关键字的作用_java volatile关键字作用及使用场景详解
- 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)
- javascript焦点图(能够自己主动切换 )
- linux去重统计个数,linux 文件内容查找、去重、统计(示例代码)
- java day02 【数据类型转换、运算符、方法入门】
- 6m缓存和8m缓存差距_i7-9700和i7-9700K性能差距多大?i7-9700和i7-9700K区别对比评测...
- windows powershell 将U盘启动盘还原回普通U盘
- 网盘上传文件服务器失败原因,百度网盘上传文件一直失败是什么情况?具体解决方法...
- Font Replacer
- SpringCloudStream基础
- unity实现游戏中拍照功能(自动生成小照片)
- 类似安卓的点9图片,气泡图片调成自己需要的
- PS抠图(菜鸟、快捷键)
- 磁盘linux安装不可以用,CentOS 5 不支持SATA硬盘安装的解决方法
- Google Map手机地图
- Ubuntu18.04重启后内核自动更新显卡驱动失效