1.问题描述 #
在20世纪70年代中期,出现了一种风靡于美国各所名牌大学校园的数学游戏。无论是学生还是教师、
研究员和教授们都纷纷对它着了迷。
这个游戏的规则非常简单:
任意写出一个自然数n,如果是奇数,则把它变成3n+1;
如果是偶数,则把它变成n/2;
如此反复运算,最终必然得到1;
确切地说是落入“4-2-1”的循环之中。
这个有趣的数学游戏逐渐引起了全世界数学爱好者的兴趣,人们争先恐后地去研究它的规律,并试图证明它。
人们发现运算过程中的数字起伏变化,忽大忽小,有时还很剧烈。
这就像积雨云中的小雨点,会被猛烈上升的气流带上零度以下的高空,凝固成小冰珠。
随着含水汽的上升气流增大,小冰珠逐渐变大,最终变成大冰雹从天而降,砸到地面上。
因此人们形象地把这个数学游戏称为“冰雹猜想”。
2.学习目标与任务 #
创建一个列表存储数据,每次输入一个自然数,最终都能得到“4-2-1”。
构建运算式,并进行判断,是否等式成立。
运行程序看一下效果吧!
3.编程思路与步骤 #
3.1 编程思路 #
对任意一个自然数n,如果它是奇数,则对它乘3再加1;
如果它是偶数,则对它除以2.
如此反复运算,最终都能够得到1.即
奇数:3*n+1
偶数:n÷2=0
根据“冰雹猜想”数字黑洞的规则,采用递归结构设计验证这个数字黑洞的程序。
该程序由入口程序和“冰雹猜想”模块组成。
入口程序:接收用户输入的一个自然数,并将其放入数字黑洞中。
“冰雹猜想”模块:按照这个数字黑洞的规则进行变换运算,直到最后得到1为止。
3.2 编程步骤 #
1.创建列表
创建“日志”列表,程序运行后,清空列表。
2.定义函数“冰雹猜想”
(1)创建新积木“冰雹猜想和变量n”
(2)算式计算
判断奇偶数,并执行“冰雹猜想”。
不要忘记循环次数哦!!
4.问答与练习 #
4.1 问答 #
左边是小明的程序
运行之后一直没有出现“冰雹猜想”的结果
问题出在哪了呢?
大家帮小明找找bug吧!
4.2 课后练习 #
大家是否还了解其他的数学知识,可以自己尝试一下啊!