程式:
#include
int main(void)
if( sum == a)
printf("是回文數!\n");
else
printf("不是回文數\n");
return 0;}
解釋:
任何乙個數除以10的餘數就是該數最後一位
任何乙個數除以10的商就是排除掉最後一位後的數(因為 c++ 兩個整數相除結果還是整數)
所以 ,乙個數1234 就可以通過這種方法得到 123 和 4
接下來對 123 進行同樣的操作,就得到 12 和 3
接下來得到 1 和 2
接下來得到 0 和 1
整個過程是個迴圈,當商不是 0 的時候就一直這麼幹
每次拿到乙個餘數,都用來構造新數,新數=新數*10+餘數
所以經過四次迴圈後,我們得到新數 4321 ,如果是回文,那麼新數應該等於原數,否則,說明不是回文。
回文數的判斷
其實是很簡單的乙個東西,只不過覺得今天的寫了之後看了別人的 覺得挺有意思的,所以記錄下來。要求就是給乙個int型的數,判斷是否為回文數。我的想法很簡單,就是把這個數的每乙個數字分離開放到乙個陣列,然後迴圈跑一遍判斷是不是回文就好了。如下 bool ispalindrome int x for i 0...
回文數的判斷
起初考慮的用到了vector,將他們拆分以後依次判斷頭和尾,近乎暴力匹配 if x 0 else if x 10 vector int v while x if v.size 2 else for int i 0 i v.size 2 i return true 看到題解的優化方法,是依次取餘 我也...
判斷回文數
如果乙個數的反向倒置數和它的順向數一樣,那麼這個數稱為回文數。編寫乙個測試程式,提示使用者輸入乙個整數值,然後報告這個數是不是回文數。我先後一共寫了三個函式。方法一 由於題目要求輸入的是整數值,所以按照整數的方法倒置數字,與原數比較即可。public class palindrom public s...