修正:89的回文数

分类: 研究-学习 |

昨天回文数的问题,想了半天还是没能解决,后来把问题发到了湖南株洲二中陈鸥辉老师的群里请求解决,不一会儿,浙江义务的金星老师就指出了问题所在,在自定义的hw()函数中while循环没有条件参数的变化,while循环属于死循环。
我一看确实是犯了这么个低级错误。
但是我还纳闷的是怎么除了这个89,其他的很多数都可以达到效果了呢?
今天早上又仔细看了这个数字,原来就出现在这个数字‘8872688’这个特殊的形式中。
请输入一个数:29
29 + 92 = 121
请输入一个数:87
87 + 78 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884
请输入一个数:89
89 + 98 = 187
187 + 781 = 968
968 + 869 = 1837
1837 + 7381 = 9218
9218 + 8129 = 17347
17347 + 74371 = 91718
91718 + 81719 = 173437
173437 + 734371 = 907808
907808 + 808709 = 1716517
1716517 + 7156171 = 8872688
因为没有了变量i的累加,所以前面几个都是只能判断首尾两个字符,而大部分的数字基本都是满足这个条件就是回文数了,但是8872688 这个属于特殊情况,
他达到了首尾两个数字相同却不满足回文数的要求。
在第九行加了i+=1(与if缩进相同),这个问题自然就解决了。
目前看来,while 。。。if。。。else。。。的缩进格式还有待商榷。