文章目录

0x00 前言

0x01 问题分析

0x02 代码设计

0x03 代码流程

0x04 完整代码 

0x05 运行效果 

0x06 参考文献

0x07 总结


0x00 前言

角谷猜想也称 3x+1 猜想,最早是流传于美国西拉古斯大学,不久后一位名为角谷静夫的日本数学家把它带到亚洲,故称角谷猜想。角谷猜想是任意一个自然数 N ,如果这个自然数 N 为偶数则除以 2 ,如果这个自然数 N 为奇数则乘以 3 再加 1 ,如此反复结果必然为最小自然数 1 。

0x01 问题分析

关于角谷猜想的迭代公式:

其中 X 是奇数, m 是让 3X+1 中的偶数析出并抵消并且让整个分数成为奇数,直到等于 1 为止。

根据迭代公式给出以下示例:

N=3→10→5→16→8→4→2→1
N=4→2→1
N=5→16→8→4→2→1
N=9→28→14→7→22→11→34→17→52→26→13→40→20→10→5→16→8→4→2→1
N=12→6→3→10→5→16→8→4→2→1

0x02 代码设计

n = int(input("输入一个自然数:"))

        代码解析:使用 int() 函数以整数形式获取用户输入。

while n != 1:

        代码解析:构造 while 循环并设置循环规则,当 n=1 时退出循环。

if n % 2 == 1:n = n * 3 + 1print(f'{n} ', end = ' ')

代码解析:使用 n % 2 ==1 用来判断用户输入的数是否为奇数,如果是则乘以 3 加 1 ,并打印当前步骤。 f'...' 方法类似 .format 方法,用于格式化输出。 end = ' ' 表示不换行输出。

else:n //= 2print(f'{n} ', end = ' ') 

        代码解析:如果用户输入的数不为奇数,那么直接除以 2 ,并打印当前步骤。

0x03 代码流程

代码运行流程图

0x04 完整代码

n = int(input("输入一个自然数:"))
while n != 1:if n % 2 == 1:n = n * 3 + 1print(f'{n} ', end = ' ')else:n //= 2print(f'{n} ', end = ' ') 

0x05 运行效果

请输入一个自然数:9
28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1Process finished with exit code 0  

0x06 参考文献

[1].百度百科. 3x+1猜想[EB/OL]. [2022-09-23]. https://baike.baidu.com/item/3x%2B1%E7%8C%9C%E6%83%B3/5833803#2.

0x07 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

Python笔记 | 角谷猜想相关推荐

  1. Python验证角谷猜想

     角谷静夫是日本的一位著名学者,他提出了一个猜想(称为角谷猜想):对于一个正整数n,若为偶数则除以2,若为奇数则乘以3加1,得到一个新的数后按照之前的两条规则继续演算,若干次后得到的结果必然为1.输入 ...

  2. 用python证明角谷猜想_关于角谷猜想的证明

    角谷猜想:对于一个正整数,若是奇数 乘3加1,若是偶数 除以2 重复上述过程,最终结果是1. 证明:对任意的正整数n 若n是偶数则总有 n=m*2^k m是奇数 则只需证对于奇数m 猜想成立 又对于任 ...

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

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

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

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

  5. 角谷猜想(Collatz conjecture)--用 python 语言实现

    老师布置的一个小作业–用python代码实现角谷猜想,下面就给大家提供一个思路,供大家参考. ''' 角谷猜想: n 是一个自然数 如果 n 是奇数,则 n = 3 * n + 1 如果 n 是偶数, ...

  6. 角谷猜想python代码_查看“Python-2020-fall”的源代码

    因为以下原因,您没有权限编辑本页: 您所请求的操作仅限于该用户组的用户使用:用户 您可以查看与复制此页面的源代码.== Python程序设计课程主页(2020年秋季学期) == Teacher: [h ...

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

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

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

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

  9. python角谷猜想递归实现_第三周函数的递归---编程作业: 递归编程练习

    编程题#1:单词翻转 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一 ...

最新文章

  1. 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)...
  2. keepalived主从模式监测nginx
  3. [reference]-ARM core timeline
  4. 常用JavaScript语法107条
  5. anki模板_梁宝川:如何导入,导出anki笔记?
  6. 云原生时代老牌IDC巨头谋求转型,世纪互联成立新品牌“互联科技(NEOLINK)”
  7. 腾讯广告计算提速25%,腾讯云星星海SA2云服务器提供助力
  8. 关于STM32F107RCT6使用8M晶振串口波特率错误的问题
  9. 波浪线html,js中的波浪线符号作用(按位非(~)符号)
  10. 最基本的几种 CSS 文字滤镜效果 - 蓝色理想
  11. Mac卸载Pandoc
  12. javahtml5健身房信息管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  13. 热门应用借微信玩花样:一大波红包正在来袭
  14. Blender_8_内插面
  15. Win10忘记登录密码,系统U盘/光盘轻松重置
  16. 数字华容道(C++)
  17. 在C语言aceg什么意思,#8203;给定关系模式R,U={A,B,C},F={AB-C,C-B}.关系R(1) ,且分别有(2)给定关系模式R,U={A,B,C},F={AB-C,C-B}...
  18. 类的成员函数指针和静态成员函数指针 调用成员函数***
  19. 数学建模学习(1) 线性规划
  20. 项目组合管理(PPM)

热门文章

  1. 【学习体会】aligned_malloc实现内存对齐
  2. mysql join 性能测试_Mysql Join语法解析与性能分析
  3. EDK2源码下载及环境搭建
  4. (4)Dojo学习之动画学习
  5. python画史迪仔_手把手教你如何使用Python来生成马赛克画!
  6. html如何改变图片比例,如何更改图片像素和大小
  7. TP6使用守护进程完成队列任务
  8. 【Books系列】之第四本书:大冰之《你坏》读书笔记
  9. 红酒百科知识(二)_manok_新浪博客
  10. 单片机实习音乐播放器的源码