早上睡醒躺床上不想起来,想到一个好玩的东西:

    任意数字,如果是偶数,就除以2;如果是奇数,乘以一个奇数o并加一(奇数乘以奇数必定是奇数,加一变偶数);反复进行这个步骤,最后这个动荡的数列会不会收敛呢?

(偶数除以2的极限结果必然是偶数2或任意一个奇数,如果是偶数2,那么它除以2下一步就是奇数1,并开始一个循环m-n-1-m-n-1)

------------------------------------------------------

>角谷猜想

出于好奇心,我上网查了一下,是有人想过这个问题的,只不过把奇数o设为定值3,也被叫做冰雹猜想||角谷猜想:

对于任意一个数n(n>0):
1)如果它是偶数,将它除以2
2)如果它是奇数,将它乘以3并加一
重复以上步骤,最后这个数字会收敛于1,并重复4-2-1-...的过程

用程序验证这个某个数是否符合这个猜想:

 public static void main(String[] args){jiaogu(17);}private static int jgCount=0;public static void jiaogu(int a){System.out.println(jgCount++ +":"+a);if(a<=1 || jgCount>=9999999)return ;if(a%2==0){a/=2;}else{a=3*a+1;//奇数o为3}jiaogu(a);}

用程序直接暴力验证猜想:

 public static void checkJiaogu(int TOP){//检验[1,top]范围内的数是否符合角谷猜想int top=TOP;int tryTime=100000;for(int i=2;i<=top;i++){int a=i,j=0;for(j=0;j<tryTime;j++){if(a==1)break;else{if(a%2==0){a/=2;}else{a=3*a+1;}}}if(j!=tryTime){//成功归一if(i==top){System.out.println("Success checking number [1,top].");}}else {System.out.println("Failed at number: "+i+"after trying "+tryTime+" times.");break;}}}

观察这个猜想,其要点(进一步的推论)有两个:

a)从数字n(n>0)出发,经过任意个步骤,必然不能回到数字n,即不能有自循环;

b)从数字n(n>0)出发,经过任意个步骤,数列必然收敛不会发散,无法朝着无限大的方向前进,即必然自封闭。

看着好像很简单,然而看了看相关资料,没有一个数学家能证明出来_(:зゝ∠)_

那算了,我一个程序员,果断放弃。

不过...玩玩还是可以的。

------------------------------------------------------

>分析

这个猜想最诱人的一点是,观察2)可知,数列收敛到1,必定是在数列中的某个数字碰触到2^n(1 2 4 8 16 32 64....)中的任意一个数字;而2^n这个数列的长度是无限长的,说明数列在游走过程中,“很可能”碰触到这个数字,进而导致收敛。看着似乎非常容易证明。

因此问题被转化为:

    是否能找到一个m,使得3*n+1=2^m成立,(m>=1;n为奇数;m、n均为正整数)

对任意奇数n,显然上式并不能恒成立。因此,求其等价,即3*n属于奇数域O,使得其成立。使得上面式子成立的奇数域应该为O:{4^k-1,k为大于等于1的正整数}

为什么是4^k-1呢?因为显然4^k属于数列2^m,3*n属于O,则上式必成立。

此时又有一个先决条件,是否对于每个整数n,3*n都能属于O?即4^k-1是否整除3?

答案是肯定的:

问题又被归结于:数列在动荡时,是否能碰触到一个数字n,这个数字n属于 奇整数集O':{(4^k-1)/3,k为大于等于1的正整数}

这时候问题从碰触到2^k长度的尺寸上一下缩小到了2^(k-1)(4^k是2^k的一半)的长度尺寸上,看着就没原来那么容易解了_(:зゝ∠)_

------------------------------------------------------

>程序员眼中的数列与o=3

用同样的思路去处理任意奇乘数o,发现每次要碰触到的长度尺寸会缩减为2^[k-(o-1)/2],如o=3时为2^(k-1),o=5时为2(k-2)....尺寸一点一点被缩小,也就是说越来越难收敛...

对于一般数列,同样的道理,o=5时,必定要遇上O(5)={16^k-1,..};o=7时,必定要遇上O(7)={64^k-1,...},即O(o)={[2^(o-1)]^k-1,...} (O(o)/o必为整数,证明方法同上)

可能的范围越来越小,在o趋向极大时,要使数列最终会变成收敛为一个数1时,从n出发必定会遇上一个极大数MaxO(因为MaxO必定要比o大上非常多倍,但并不唯一)。这就非常玄学和难证了。

仅考虑o=3的情况,经过数列演变,要证明角谷猜想,就是要证明为什么[O(3)/3](或者说4^k)一定在数列之中,而且是对所有出发数字都成立。

例如:从n=17出发,经1) 、2)步骤的数列:(5属于O(3)/3={4^k-1,...},即(4^2-1)/3)

17 52 26 13 40 20 10 [5] (16) 8 4 2 1 4 2 1 4 2 1....

那么问题又来了....作为程序员,我看到的问题又变成了这样:面对一个程序黑盒,已知输入与输出,证明黑盒中必过已知节点。我来解释一下这个说法,输入就是出发数n,输出就是归一数1,必过的节点就是O(3)/3。

从逻辑出发,角谷过程是下面两个语句:

if(a%2==0)a/=2;
else a=3*a+1;

这两个语句决定了黑盒中的程序走向,编程对比这个走向:

 public static void checkProcess(int TOP){//输出[0,TOP]范围内的程序走向int top=TOP;int tryTime=100000;for(int i=2;i<=top;i++){int a=i,j=0;System.out.print(i+" : ");for(j=0;j<tryTime;j++){if(a==1)break;else{if(a%2==0){a/=2;System.out.print("L");//程序走向}else{a=3*a+1;System.out.print("R");}}}System.out.println();if(j!=tryTime){//成功归一if(i==top){System.out.println("Success checking number [1,"+top+"].");}}else {System.out.println("Failed at number: "+i+"after trying "+tryTime+" times.");break;}}}

输出结果:

遇到RLLLL就是遇到数列"5 16 8 4 2 1"了。要想具体从RLRLRLR之类的数列中总结出规律,我觉得....不可能吧...

所以民科什么的,算了吧...

[角谷猜想 || 冰雹猜想]的一些瞎想相关推荐

  1. 【JAVA】java递归测试考拉兹猜想/冰雹猜想

    java递归测试考拉兹猜想/冰雹猜想 什么是考拉兹猜想: 考拉兹猜想是数学中最引人注目的难题之一,它也被称为奇偶归一猜想.3n+1猜想.冰雹猜想还有角谷猜想等等.这个猜想的很容易掌握,你只需要知道如何 ...

  2. Python验证和可视化之三大猜想 [ 冰雹猜想、角谷猜想、考拉兹猜想 ]

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本篇文章来自腾讯云 作者:Python小屋屋主 ( 想要学习Python?Pyth ...

  3. 用Python实现冰雹猜想(3n+1猜想,角谷猜想,叙古拉猜想)的黑洞演示

    目录 一.冰雹猜想的来由 二.实现方法 1.定义根据规则生成新数的函数 2.定义生成列表的函数 3.定义主函数 三.完整代码 四.部分代码分析 五.输出结果 1.输入4 2.强悍的27 总结: 前面完 ...

  4. Python验证和可视化冰雹猜想、角谷猜想、考拉兹猜想

    推荐教材:<中学生可以这样学Python(微课版)>,董付国.应根球,清华大学出版社,ISBN:9787302554639 京东购买链接: =================== 问题描述 ...

  5. 奇偶归一猜想(多组数据)——又称为3n+1猜想、冰雹猜想、角谷猜想

    输入两个正整数a和b(1<a<b<1000),输出二者之间所有数的奇偶归一猜想的验证过程. [科普] 奇偶归一猜想,又称为3n+1猜想.冰雹猜想.角谷猜想等.其内容为"对于 ...

  6. LQ0052 冰雹数【枚举+角谷猜想】

    题目来源:蓝桥杯2016初赛 C++ C组H题 题目描述 任意给定一个正整数N,如果是偶数,执行: N / 2:如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过 ...

  7. C语言编写冰雹猜想(角谷猜想)

    1976年的一天,<华盛顿邮报>于头版头条刊登了一条数学新闻,文中叙述了这样一则故事:70年代中期,美国个所名牌大学校园内,人们都像发疯一般,日以继夜废寝忘食地玩弄一种数学游戏,这个游戏十 ...

  8. java证明角谷猜想_角谷猜想证明

    摘要: 本文应用反证法,通过黑洞数唯1,3x+1必唯1,证明3x+1猜想成立. 关键词: 角谷猜想 黑洞 一."角谷猜想"概念 "角谷猜想"又称"冰雹 ...

  9. 【python角谷猜想】

    题目: 角谷猜想,又称为冰雹猜想,是日本数学家角谷静夫发现的一种数学现象,电的具体内容是:一个正整救n,若为偶教,则变为n/2,若为奇数,则乘3加1(即3n+1).不新重复这样的运算,经过有限步后,必 ...

最新文章

  1. Arachni web扫描工具
  2. (七)中介者模式-C++实现
  3. Amazon Redshift 架构
  4. 参加51CTO培训,华为HCNP认证考试通过啦
  5. 分布式消息队列 Kafka
  6. WEB攻击手段及防御-扩展篇
  7. 动态规划--Leetcode746
  8. 数据中台建设五步法(文末赠书)
  9. Google常用搜索技巧
  10. debian sources
  11. 美国:DFA(Dimensional fund advisors LP)基金介绍
  12. 融易宝项目之EasyExcel和数据字典的使用
  13. Hadoop环境搭建(全网最详细,保姆级教程)
  14. c语言加权成绩,c – 加权中值计算
  15. 微信壁纸小程序(SpringBoot后台V1.3.0发布)
  16. Quartz定时任务自学
  17. mysql order by file_深聊MySQL,从入门到入坟之:如何让order by、group by查询速度飞起来...
  18. MySQL万字总结(含测试代码)
  19. 【参赛时间延长】InterSystems技术写作大赛:Python
  20. 多节点+内核文件接口

热门文章

  1. IDEA中Tomcat启动后提交表单,请求的资源[/servlet_demo2/book-add.html]不可用
  2. Vue 使用 Viewers 实现图片的 放大缩小、 旋转 、 拖拉等操作、支持多图片
  3. IC圈的世界杯 | 论芯片设计的胜利十一人
  4. Android DataBinding RecyclerView AAPT: error: attribute adapter (aka......) not found.
  5. react.js实现的时间轴js特效
  6. 从零开始的Docker [ 7 ] --- 顶级 Volumes,数据卷, 系统限制sysctls
  7. 文明游戏5的计算机配置,文明6配置要求高吗 文明6最低电脑配置与推荐电脑配置...
  8. 慢腾腾的Quartus prime16.0加快编译速度
  9. 100年量子计算风云史,“量子比特”何时统治世界?| 技术特稿
  10. petalinux2018.3安装步骤