數(shù)字王國(guó)中有很多有趣的數(shù)字,比如質(zhì)數(shù)、水仙花數(shù)、回文數(shù)、親密數(shù)……今天我們來(lái)了解有趣的數(shù)字——回文數(shù)。什么是回文數(shù)呢?古今中外都有的一種修辭方式和文字游戲,如“我為人人,人人為我”正讀反讀都能讀通句子,這就是回文?;匚臄?shù)也有這樣的特征,n為任意自然數(shù),若將n的各位數(shù)字反向排列所得自然數(shù)n1與n相等,則稱(chēng)n為回文數(shù)。例如,n=1234321為回文數(shù)。自然界中最小的回文數(shù)是0。
下面我們通過(guò)編程找出100到999之間全部回文數(shù)。假設(shè)有一個(gè)三位數(shù),如何去判斷它是否回文數(shù)呢?只需要考慮個(gè)位和百位是否相等,如果相等的話就是回文數(shù),否則的話就不是回文數(shù)。如何提取出個(gè)位數(shù)和百位數(shù)呢?方法有很多種,這正是這道題目的精華部分。
取一個(gè)三位數(shù)的個(gè)位數(shù)方法是將該數(shù)字除以10的余數(shù),取百位數(shù)的方法就是將該數(shù)字除以100后取整。然后判斷個(gè)位和百位數(shù)字是否相等,相等就是回文數(shù)。這種使用數(shù)學(xué)方法取個(gè)位百位數(shù)的方法我們已經(jīng)會(huì)了(如圖1)。
第二種取數(shù)字的方法是把輸入的數(shù)字看成一個(gè)字符串,如ABA。然后我們就可以用對(duì)字符串處理的方法分別提取出左邊的第一位和右邊最后一位,看看是否相等,如果相等就是回文數(shù)。
如果提高難度,如何判斷輸入的一串?dāng)?shù)字或者字符是否回文數(shù)呢?
我們可以用循環(huán)的方法把數(shù)字倒著輸出,看看和正序字符串是否一樣,如果一樣就顯示回文數(shù),不一樣的話則不是回文數(shù)(如圖2)。
現(xiàn)在你趕快來(lái)試試吧,希望你還能想到其他更多的方法。