回文數的判斷

2021-10-11 04:07:23 字數 898 閱讀 8461

起初考慮的用到了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

;

看到題解的優化方法,是依次取餘(我也想到了,但是怎麼判斷到達中點沒有想到)。

中點的判斷方法是當取餘乘起來的數大於原數除掉以後的數即可。如果是奇數情況的話,可以讓前面做除的x在除一次10進行比較。

class

solution

int revertednumber =0;

while

(x > revertednumber)

// 當數字長度為奇數時,我們可以通過 revertednumber/10 去除處於中位的數字。

// 例如,當輸入為 12321 時,在 while 迴圈的末尾我們可以得到 x = 12,revertednumber = 123,

// 由於處於中位的數字不影響回文(它總是與自己相等),所以我們可以簡單地將其去除。

回文數的判斷

其實是很簡單的乙個東西,只不過覺得今天的寫了之後看了別人的 覺得挺有意思的,所以記錄下來。要求就是給乙個int型的數,判斷是否為回文數。我的想法很簡單,就是把這個數的每乙個數字分離開放到乙個陣列,然後迴圈跑一遍判斷是不是回文就好了。如下 bool ispalindrome int x for i 0...

判斷回文數

如果乙個數的反向倒置數和它的順向數一樣,那麼這個數稱為回文數。編寫乙個測試程式,提示使用者輸入乙個整數值,然後報告這個數是不是回文數。我先後一共寫了三個函式。方法一 由於題目要求輸入的是整數值,所以按照整數的方法倒置數字,與原數比較即可。public class palindrom public s...

判斷回文數

回文 是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如 我為人人,人人為我 等。在數學中也有這樣一類數字有這樣的特徵,成為回文數 palindrome number 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n 123432...