python使用迭代法验证角谷猜想

news/2024/11/13 3:38:00/
def fun(n):print(n)while n != 1:n = 3 * n + 1 if n % 2 else n / 2print('finished')for i in range(2,1000):fun(i)

1、了解了什么是"角谷猜想"

    对于任意一个自然数n,若n为偶数,则将其除以2;若n为奇数,则将其乘以3,然后再加1。如此经过有限次运算后,总可以得到自然数1。

2、了解了迭代算法的原理

    迭代算法(Iteration)是用计算机处理问题的一种基本方法。它利用计算机运算速度快、存储容量大、适合做重复性操做的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推导出它的一个新值。迭代法是一种不断用变量的旧值递推出新值的解决问题的方法。

    迭代算法的步骤:

    (1) 确定迭代变量

    (2) 建立迭代关系式

    (3)对迭代过程进行控制式

3、掌握了如何使用迭代算法解决"角谷猜想"问题

    (1)确定迭代变量n(即>2的自然数)

for i in range(2,1000):#这里以2-999为例

    (2)确定迭代关系式:当n为偶数时,n = n/2;当n为奇数时,n =n*3+1。

n = 3 * n + 1 if n % 2 else n / 2

    (3)建立迭代过程控制式:这里结束迭代过程的条件即为经过x运算后,n==1,则结束迭代过程。

while n != 1:

​4、实验结果

 

通过观察可以发现2-999数字均符合角谷猜想。

 


http://www.ppmy.cn/news/57841.html

相关文章

C和C++的区别

C和C的区别 1、面向对象编程:C是面向对象的语言,而C语言则不支持面向对象编程。C提供了类、对象、封装、继承、多态等面向对象的特性,使得程序结构更加清晰、可读性更强。2、模板:C提供了模板的特性,使得程序员可以通…

DDD系列:四、领域层设计规范

在一个DDD架构设计中,领域层的设计合理性,会直接影响整个架构的代码结构以及应用层、基础设施层的设计。但不同业务的领域层设计是需要不断思考和演进的,既要避免未来的扩展性差,又要确保不会过度设计导致复杂性。 传统OOP的缺陷…

二叉搜索树【Java】

文章目录 二叉搜索树的性质二叉搜索树的操作遍历查找插入删除 二叉搜索树又称为二叉排序树,是一种具有一定性质的特殊的二叉树; 二叉搜索树的性质 若它的左子树不为空,则左子树上结点的值均小于根节点的值; 若它的右子树不为空&a…

JavaScript学习笔记三

匀速动画: 实现原理 通过定时器setInterval() 不断移动盒子位置 步骤: 获取盒子当前位置让盒子在当前位置加上1个移动距离利用定时器不断重复这个操作加一个结束定时器的条件元素需要添加定位,才能使用element.style.left /* - 获取盒子当前位置 - 让…

springboot sharding-jdbc 主从 读写分离

目录 1 mysql 主从搭建 1.1 docker mysql 主从搭建 1.2 非docker mysql 主从搭建 2 springboot sharding-jdbc 主从 读写分离 2.1 pom 加依赖 2.1 yml 配置文件 3 测试 -> 直接使用 就是读写分离 3.1 实体类User -> 数据字段 对象字典 3.2 Mapper -> 增删改查…

基于KZG多项式承诺方案的RLN

1. 引言 RLN——Rate-Limiting Nullifier为PSE团队主导的项目,源自: Barry White Hat 2019年博客 Semaphore RLN, rate limiting nullifier for spam prevention in anonymous p2p setting RLN(Rate-Limiting Nullifier)是一种…

Ajax学习笔记

AJAX: Ajax是浏览器中的技术;用来实现客户端网页请求服务器的数据 Asynchronous JavaScript XML简称ajax 操作服务器上的数据除了要使用 URL地址, 还要指定 请求方式 请求方式: 使用ajax请求数据的五种方式: POST …

PyTorch实战3:天气识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章:365天深度学习训练营-第P3周:天气识别🍖 原作者:K同学啊|接辅导、项目定制 目录 一、前期准备1、导入数据2、transforms.Compose详…