“考拉兹猜想”是一个数学上的未解之谜。

考拉兹猜想

对自然数 n 循环执行如下操作。

n 是偶数时,用 n 除以 2

n 是奇数时,用 n 乘以 3 后加 1

如此循环操作的话,无论初始值是什么数字,最终都会得到 1(会进入1 → 4 → 2 → 1 这个循环)。

这里我们稍微修改一下这个猜想的内容,即假设初始值为偶数时,也用 n 乘以 3 后加 1,但只是在第一次这样操作,后面的循环操作不变。而我们要考虑的则是在这个条件下最终又能回到初始值的数。

譬如,以2为初始值,则计算过程如下。

2 → 7 → 22 → 11 → 34 → 17 → 52 → 26 → 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2

同样,如果初始值为4,则计算过程如下。

4 → 13 → 40 → 20 → 10 → 5 → 16 →8 → 4

但如果初始值为6,则计算过程如下,并不能回到初始值6。

6 → 19 → 58 → 29 → 88 → 44 → 22 → 11 → 34 → 17 → 52 → 26 → 13 →40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 → 4 → …

问题

求在小于 10000 的偶数中,像上述的 2 或者 4 这样“能回到初始值的数”有多少个。

package main

import "fmt"

func collatz(n int)bool{

m := n * 3 + 1

for{

if m == 1{

return false

}else if m == n{

return true

}

if m % 2 == 1{

m = m * 3 + 1

}else if m % 2 == 0{

m = m / 2

}

}

}

func main(){

var s []int

for i:=2;i<10001;i+=2{

if collatz(i){

s = append(s, i)

}

}

fmt.Println(s)

fmt.Printf("共 %d 个数\n", len(s))

}

结果:

[2 4 8 10 14 16 20 22 26 40 44 52 106 184 206 244 274 322 526 650 668 790 866 976 1154 1300 1438 1732 1780 1822 2308 2734 3238 7288]

共 34 个数

本来用递归函数,发现有些麻烦,就用了for循环,发现很容易就搞定了,只需注意跳出循环的条件设计就好。

python考拉兹猜想_考拉兹猜想的变体相关推荐

  1. python证明冰雹猜想_如果冰雹猜想被证明了。那数学会有很大突破吗?

    建议不要在社交软件评论区讨论数学[数学狂]最容易理解的数学未解之谜 -- 克拉茨猜想_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 克拉茨猜想or冰雹猜想 结合 ...

  2. python工程师需要考什么证_考垃圾处理清运工程师证哪里颁发的今年的考试时间即将告知...

    考垃圾处理清运工程师证哪里颁发的今年的考试时间即将告知 二.中级会计师(会计师)资格考试.三.高级会计师资格考试.四.中级会计师资格考试.五.注册税务师职称.六.注册公司登记.七.注册会计师.法人和其 ...

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

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

  4. python验证角谷_角谷猜想-随心随性无为而为-51CTO博客

    问题描述: 角谷猜想的内容为:任意给定一个自然数,若它为偶数则除以2,若它为奇术则乘3加1,得到一个新的自然数.按照这样的计算方法计算下去,若干次后得到的结果必然为1. 编写程序对角谷猜想的正确性加以 ...

  5. python证明冰雹猜想_关于冰雹猜想的证明

    冰雹猜想是指:一个正整数x,如果是奇数就乘以3再加1,如果是偶数就析出偶数因数2ⁿ,这样经过若干个次数,最终回到1. 以N=9为例进行说明: 9×3+1=28,28÷2=14,14÷2=7,7×3+1 ...

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

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

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

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

  8. 17.4.8.3n+1猜想、考拉兹猜想

    了解 3n+1 猜想 Problem E: 六队-Guess the maximum and minimum Description ​ Utopian发现了一个很有趣的数字游戏. 任意给定一个自然数 ...

  9. python报考软考哪个比较好_软考中级哪个好考

    由于软考分初.中.高三个等级,每个等级的考试科目不一样.所以很多预备报考的朋友在备考时不清楚自己可以考哪个等级,是不是需要从初级到高级逐级报考? 那么软考可以直接考中级吗?软考中级哪个好考呢? 一.软 ...

  10. 视频教程-2020年软考信息安全工程师_基础知识精讲软考视频培训课程-软考

    2020年软考信息安全工程师_基础知识精讲软考视频培训课程 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计工作 ...

最新文章

  1. 「后端小伙伴来学前端了」Vuex进阶操作,让你的代码更加高效(简称如何学会偷懒 【手动狗头】)
  2. Vue中src属性绑定的问题
  3. UVA 725 Division(除法)
  4. Javascript 自定义输出
  5. (转)实现自己的http server
  6. 95-140-112-源码-transform-算子split 和 select
  7. Linux部署django项目最全,linux部署django项目流程(全)
  8. html 调高德地图 导航,在H5页面内通过地址调起高德地图实现导航
  9. The 2018 ACM-ICPC Asia Qingdao Regional Contest (Mirror)
  10. 威联通使用 HP 1020 Plus 打印机
  11. ei论文计算机,容易写的计算机ei论文题目 计算机ei专业论文题目如何拟
  12. python爬虫--selenium的理解以及使用(六)
  13. outer和left outer join有什么区别
  14. Java发邮件(详解+源代码)
  15. 全面的网络诊断-Omnipeek
  16. OLO会打开数金链更多的市场
  17. 二分查找的魔鬼细节详解
  18. react项目中,使用.jsx和.js文件书写react代码时,这两者有什么差异性?
  19. 我参加 NVIDIA Sky Hackathon---目标检测数据集转化篇
  20. 12. 整数转罗马数字。

热门文章

  1. STEINS;GATE ELITE(中文名《命运石之门:精英》)游戏通关流程
  2. C#毕业设计——基于C#+asp.net+sqlserver的计算机等级考试系统设计与实现(毕业论文+程序源码)——计算机等级考试系统
  3. Python 创作音乐: 计算机创作,计算音乐
  4. 能不能过?(C++)
  5. python设置散点图点的大小_python_matplotlib分别使用plot()和scatter()画散点图,以及如何改变点的大小...
  6. uniapp+nvue实现仿微信App聊天应用 —— 成功实现好友聊天+语音视频通话功能
  7. Your Command Line Tools are too outdated
  8. 环境工程微生物学练习题
  9. word转换为图片格式的几种方式
  10. Hadoop 3.x安装部署详细手顺