回文数就是看起来左右对称的自然数,比如121、876678,如果将一个自然数与将该数按位翻转后形成的新数相加,并将此过程反复迭代后,往往都会得出一个回文数。例如:
56在一次迭代后形成回文数:56+65 = 121.
57在两次迭代后形成回文数:57+75 = 132, 132+231 = 363.
89经过少有的24次迭代(它是10,000以下的数中迭代次数最多的)而得到回文数8813200023188.
假如某数翻转又不停迭代相加后得不出回文数呢?那么它就被称为利克瑞尔数(Lychrel Number)。
利克瑞尔数实际上很罕见,而且难以证明,90%的10000以内的数经过不多于7次迭代后会变成回文数,
唯一例外的是196,至今还未被迭代成回文数,也许它就是最小的利克瑞尔数。
科普完毕,下面写个小程序来验证利克瑞尔数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
运行示例如下:
please enter a number:99
99+99=198
198+891=1089
1089+9801=10890
10890+9801=20691
20691+19602=40293
40293+39204=79497
6 times!
别验证196哦,会溢出的哦!