数学中借用这个词,指的是某种运算,这种运算一般限定从某些整数出发,反复迭代后结果必然落入一个点或若干点。在数学黑洞中有一个非常著名的数学黑洞1和4。
“老师,数学黑洞1和4是什么意思呢?”
数学黑洞1和4是指任取一个非0自然数,求出它的各个数位上数字的平方和,得到一个新数。再求出这个新数各个数位上数字的平方和,又得到一个新数。如此进行到最后只有两种情况: 出现1,之后永远都是1;出现4,之后开始按4、16、37、58、89、145、42、20循环。
举例说明数字黑洞1和4
1:例如自然数是44
- 个位数的平方和为16,十位数的平方和为16,相加得到新数32
- 32的个位数平方和为4,十位数的平方和为9,相加得到新数13
- 13的个位数平方和为9,十位数平方和为1,相加得到新数10
- 10的个位数平方和为0,十位数平方和为1,相加得到新数1
- 1得到的新数永远的是1啦!
2:例如自然数是42
- 42的个位数平方和为4,十位数平方和为16,相加得新数20
- 20的个位数平方和为0,十位数平方和为4,相加得新数4
- 4的个位数平方和是16,得到新数16
- 16的个位数平方和是36,十位数平方和为1,相加得新数37
- 37的个位数平方和为49,十位数平方和为9,相加得新数58
- 58的个位数平方和为64,十位数平方和为25,相加得新数89
- 89的个位数平方和为81,十位数平方和为64,相加得新数145
- 145的个位数平方和为25,十位数平方和为16,百位数的平方和为1,相加得新数42
- 42的个位数平方和为4,十位数平方和为16,相加得新数20
- 20的个位数平方和为0,十位数平方和为4,相加得新数4
接下来就一直循环啦!
一步步用Scratch实现数字黑洞1和4!
第一步:定义一个放初始数和新数的列表并清空
第二步:请求输入一个初始数并等待
第三步:定义一个黑洞1和4的函数
- 判断输入的数如果是4,那么输出一次黑洞4的循环
- 判断输入的数如果是1,那么在该判断前面将数插入列表中
- 如果是其他非0自然数,那么求新数并把新数也插入列表中
第四步:定义一个求平方和的函数
- 将平方和初始化为0
- 计算各个数位上数字的平方和,得到一个新数
第五步:定义一个黑洞4函数
- 将得到的新数插入列表中
- 判断当新数为20时停止插入
- 调用求平方和函数和黑洞4函数直到新数为20
第六步:在黑洞1和4的函数加入函数调用
- 在判断数既不是1也不是4是调用求平方和函数
- 继续调用黑洞1和4函数直到出现1和4
同学们,为了解决黑洞1和4的问题,我们一共定义了3个函数。更有意思的是,我们还在函数中调用了函数本身。例如在黑洞4函数中调用了黑洞4函数。这种特殊函数其实有个特别的名字,叫递归函数,之后我们会在很多地方使用到递归函数。同学们要记住用法哦!