数字王国中有很多有趣的数字,比如质数、水仙花数、回文数、亲密数……今天我们来了解有趣的数字——回文数。什么是回文数呢?古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”正读反读都能读通句子,这就是回文。回文数也有这样的特征,n为任意自然数,若将n的各位数字反向排列所得自然数n1与n相等,则称n为回文数。例如,n=1234321为回文数。自然界中最小的回文数是0。
下面我们通过编程找出100到999之间全部回文数。假设有一个三位数,如何去判断它是否回文数呢?只需要考虑个位和百位是否相等,如果相等的话就是回文数,否则的话就不是回文数。如何提取出个位数和百位数呢?方法有很多种,这正是这道题目的精华部分。
取一个三位数的个位数方法是将该数字除以10的余数,取百位数的方法就是将该数字除以100后取整。然后判断个位和百位数字是否相等,相等就是回文数。这种使用数学方法取个位百位数的方法我们已经会了(如图1)。
第二种取数字的方法是把輸入的数字看成一个字符串,如ABA。然后我们就可以用对字符串处理的方法分别提取出左边的第一位和右边最后一位,看看是否相等,如果相等就是回文数。
如果提高难度,如何判断输入的一串数字或者字符是否回文数呢?
我们可以用循环的方法把数字倒着输出,看看和正序字符串是否一样,如果一样就显示回文数,不一样的话则不是回文数(如图2)。
现在你赶快来试试吧,希望你还能想到其他更多的方法。