你知道数字黑洞吗?现在先来玩一个游戏吧,在心里默念三个不同的数,把它们排列成最大数和最小数,用最大数减去最小数,得到的新的三位数再重复这个过程,看看会有什么结果:
1,2,3
321-123=198
981-189=792
972-279=693
963-369=594
954-459=495
954-459=495
……
这种结果不是偶然的,对任意一个个位十位百位都不相同的三位数,至多重复6次,都会得到495,这就是数字黑洞。我们来编程验证一下吧:
我们来看看是如何编程的,先建立如下几个变量和两个链表:
初始化并随机生成一个合适的三位数:
接下来的代码是重排出一个最大值和一个最小值:
最后只需按要求重复执行就可以了。学会了吗?
聪明如你,不难猜到6174是什么了吧?没错,这个是四位数的数字黑洞,类似于上面的三位数的算法,至多重复7次就可以得到这个数字。至于五位数,也有数字黑洞,只不过稍微复杂些。
别忘了"点赞"和点"在看"哦
领取专属 10元无门槛券
私享最新 技术干货