判斷乙個數是否為回文數

2021-08-20 11:18:14 字數 646 閱讀 2041

判斷乙個數字是否位回文,不能使用額外的空間。

負數可能是回文嗎?(-123321)

最簡單的就是轉換成字串,然後判斷。但是本題要求不使用額外的空間

你也可以考慮將數字反轉,但是這樣的話,好像很容易溢位哦~

所以,這裡肯定有乙個好辦法。希望你能夠想出來哦~

格式:輸入有若干行,每一行輸入對應一行輸出,直到遇到終止符號。判斷是否為回文,是,輸出true,否則輸出false。

樣例輸入

1000110001

樣例輸出

true

分析:設定兩個標誌r和l,r初始化為0,l初始化為數的位數。然後用while迴圈,判斷s[r]是否和s[l]相同,相同則r++,l--;否則結束迴圈。

#include #include using namespace std;

int main() {

char s[1000];

int l, r;

while(scanf("%s", s) != eof) {

l = strlen(s) - 1;

r = 0;

if(s[0] == '-') {

cout<<"false"<= l) {

cout<<"true"<

判斷乙個數是否為回文數

問題描述 輸入乙個數值判斷是否為回文數 回文數是指乙個像12321 123321這樣 對稱 的數 解題思路 將數值的各個位存放在陣列中,若陣列中元素左右對稱,則為回文數,反之不是 設定 left 陣列最左邊下標 right 陣列最右邊下標 首先判斷第乙個和最後乙個數值是否相等,若相等,left ri...

判斷乙個數是否為回文數

首先先寫了乙個判斷5位數是否為回文數 define crt secure no warnings include includeint main 判斷是否為回文數 if num 0 num 4 num 1 num 3 else system pause return 0 然後進一步擴充套件將5位數改...

C 判斷乙個數是否為回文

include using namespace std 判斷n是否為回文數 bool symm unsigned n return m n 解析 第一步先要反轉全部數字,然後再判斷是否與反轉前相等,相等即是回文。i 10是用來反轉數字的。i對10取餘,得到是個位上的問數值,如求123,反轉目標為32...