scratch数字之谜——数字黑洞6174

在人教版小学《数学(五年级上册)》中就介绍了“数字黑洞6174”,它是印度数学家卡普雷卡尔于1949年发 现的,又称为“卡普雷卡尔黑洞”。这个数字黑洞在运算过程中需要对个数位重新排列和求取差值,所以也被 称为“重拍求差黑洞”。

file

卡普雷卡尔黑洞(数字黑洞6174)的规则如下:

取任意一个不完全相同的4位数,将组成该数的4个数字由大到小排列组成一个大的数,又由大到小排列成一个 小的数,再用大树减去小数得到一个差值,之后对差值重复前面的变换步骤,最终会掉入数字黑洞6147之中。

file

例如:整数8848。对其各位数重排后得到大数8884和小数4888,用大数减去小数得到差值为3996。之后对整数 3996按上述规则继续变换的过程为:9963-3699=6264 6642-2466=4176 7641-1467=6174。经过四次变换,整数 8848就掉进数字黑洞6174之中。

编程思路

根据卡普雷卡尔黑洞的规则,设计验证这个数字黑洞的程序。该程序可分解为以下几个部分。

(1)入口程序。用于接受用户输入的4位整数,并将该数放入数字黑洞。 (2)数字黑洞6174模块。该模块用于按照数字黑洞6174的规则对输入的整数进行运算,直到最后得到6174。 (3)分解数字模块。该模块用于将用户输入的4位整数的各位数字分解后存放到一个“数组”列表中。 (4)取大数模块。该模块用于取得重排后的最大数。 (5)取小数模块。该模块用于取得重排后的最小数。 (6)选择排序模块。该模块使用选择排序算法对“数组”列表中的数字按照从大到小的排列顺序。

程序清单:

file

入口程序

file

数字黑洞6174模块

file

分解数字模块

file

取大数模块

file

取小数模块

选择排序模块

单击绿旗运行程序,输入一个整数1688。这个数字经过5次变换后,使整数1688掉入数字黑洞6174底部。

试一试

输入一些4位不完全相同的整数进行验证,看看它们经过多少次变换后会掉入数字黑洞6174的底部。

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