回文數的判斷方法之一

2021-06-23 00:48:27 字數 516 閱讀 9540

程式:

#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...