在人教版小学《数学(五年级上册)》中就介绍了“数字黑洞6174”,它是印度数学家卡普雷卡尔于1949年发
现的,又称为“卡普雷卡尔黑洞”。这个数字黑洞在运算过程中需要对个数位重新排列和求取差值,所以也被
称为“重拍求差黑洞”。
卡普雷卡尔黑洞(数字黑洞6174)的规则如下:
取任意一个不完全相同的4位数,将组成该数的4个数字由大到小排列组成一个大的数,又由大到小排列成一个
小的数,再用大树减去小数得到一个差值,之后对差值重复前面的变换步骤,最终会掉入数字黑洞6147之中。
例如:整数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)选择排序模块。该模块使用选择排序算法对“数组”列表中的数字按照从大到小的排列顺序。
程序清单:
入口程序
数字黑洞6174模块
分解数字模块
取大数模块
取小数模块
选择排序模块
单击绿旗运行程序,输入一个整数1688。这个数字经过5次变换后,使整数1688掉入数字黑洞6174底部。
试一试
输入一些4位不完全相同的整数进行验证,看看它们经过多少次变换后会掉入数字黑洞6174的底部。
能力橙版权所有
请勿转载