leetcode上關於回文數的解法
出現的問題:error: signed integer overflow: -846384741 * 10 cannot be represented in type 『int』 (solution.cpp)
在進行回文數練習時,使用的如下解法:
bool
ispalindrome
(int x)
return x==y&&x>=0;
}
提交之後顯示
在編譯器上執行的測試例太少,沒有出現這種錯誤。在網上查詢都解釋說超過**「int」型別的最大顯示範圍,因此需要將其換為『double』**。照著更改了,更改後的程式如下:
bool
ispalindrome
(int x)
return x==y&&x>=0;
}
雖然可以執行了。但是總覺得奇怪,就有想改一下。
於是改為
class
solution
return y==x||y/
10==x;}}
;
更改的程式主要將判斷條件分類實施。
初次使用部落格,寫的不太好,請見諒!
判斷回文數
如果乙個數的反向倒置數和它的順向數一樣,那麼這個數稱為回文數。編寫乙個測試程式,提示使用者輸入乙個整數值,然後報告這個數是不是回文數。我先後一共寫了三個函式。方法一 由於題目要求輸入的是整數值,所以按照整數的方法倒置數字,與原數比較即可。public class palindrom public s...
判斷回文數
回文 是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如 我為人人,人人為我 等。在數學中也有這樣一類數字有這樣的特徵,成為回文數 palindrome number 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n 123432...
判斷回文數
回文數 乙個非負數,從左到右和從右到左看,都是一樣的。例如 1,131,1001 如何判斷乙個數是否為回文數?把數字轉化為字元,然後逆序排列得到乙個新字元,再比較新字元和舊字元是否相等。def ispalindrome num numstr str num if numstr numstr 1 re...