jishan7.github.io

如何判断一个数是不是回文数

如何判断一个数是不是回文数(不使用字符串库函数)?比如5,23432,777,9779

目前想出的最好的思路是:

把数字反转过来,如果和原来数字相等,那就是回文数。反转需要也仅需要一次遍历。

c++代码如下:

#include <iostream>
using namespace std;

bool isSym(int Num)
{
    int reverse = 0;
    int Numtemp = Num;
    for (; Numtemp; Numtemp /= 10)
    {
        reverse = reverse * 10 + Numtemp % 10;
    }
    cout << reverse << endl;
    if (reverse == Num)
        return true;
    else
        return false;
}

int main()
{
    int x;
    cin >> x;
    if (isSym(x) == true)
        cout << "yes" << endl;
    else
        cout << "no" << endl;
    return 0;
}