scratch数字之谜——数字黑洞1和4

数学中借用这个词,指的是某种运算,这种运算一般限定从某些整数出发,反复迭代后结果必然落入一个点或若干点。在数学黑洞中有一个非常著名的数学黑洞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自然数,那么求新数并把新数也插入列表中

file

第四步:定义一个求平方和的函数

  • 将平方和初始化为0
  • 计算各个数位上数字的平方和,得到一个新数

file

第五步:定义一个黑洞4函数

  • 将得到的新数插入列表中
  • 判断当新数为20时停止插入
  • 调用求平方和函数和黑洞4函数直到新数为20

file

第六步:在黑洞1和4的函数加入函数调用

  • 在判断数既不是1也不是4是调用求平方和函数
  • 继续调用黑洞1和4函数直到出现1和4

同学们,为了解决黑洞1和4的问题,我们一共定义了3个函数。更有意思的是,我们还在函数中调用了函数本身。例如在黑洞4函数中调用了黑洞4函数。这种特殊函数其实有个特别的名字,叫递归函数,之后我们会在很多地方使用到递归函数。同学们要记住用法哦!

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代