Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra số đối xứng (Palindrome) trong C++


Kiểm tra một số có phải là palindrome (đối xứng) hay không. Số palindrome đọc từ trái sang phải và phải sang trái giống nhau. Ví dụ 12321 là palindrome, 12345 không.

Logic: đảo ngược số, so sánh với số gốc. Nếu bằng nhau thì là palindrome.

Thuật toán

isPalindrome(n)
begin
    temp := n
    rev := 0
    while n > 0 do
        rev := rev * 10 + (n mod 10)
        n := n / 10
    done
    nếu rev = temp thì trả về true
    trả về false
end

Ví dụ

#include <iostream>
using namespace std;

bool isPalindrome(int number) {
    int temp = number;
    int rev = 0;
    while(number > 0){
        rev = 10 * rev + number % 10;
        number /= 10;
    }
    if(rev == temp)
        return true;
    return false;
}

int main() {
    int n = 12321;
    if(isPalindrome(n)){
        cout << n << " is palindrome number";
    } else {
        cout << n << " is not a palindrome number";
    }
}

Kết quả

12321 is palindrome number