Thuật toán tìm Số Palindrome

Lập trình C++

Số Palindrome là một số mà khi đọc từ trái sang phải hay từ phải sang trái đều giống nhau. Ví dụ về số Palindrome là 121, 12321, 3443.

Để kiểm tra xem một số có phải là số Palindrome hay không, chúng ta có thể sử dụng thuật toán đảo ngược số và so sánh với số ban đầu. Sau đây là một ví dụ về thuật toán kiểm tra số Palindrome trong C++:

#include <iostream>
using namespace std;

bool isPalindrome(int n) {
    int reversed = 0;
    int original = n;
    while (n > 0) {
        int digit = n % 10;
        reversed = reversed * 10 + digit;
        n /= 10;
    }
    return original == reversed;
}

int main() {
    int n;
    cout << "Nhap mot so nguyen duong: ";
    cin >> n;
    if (isPalindrome(n)) {
        cout << n << " la so Palindrome" << endl;
    }
    else {
        cout << n << " khong la so Palindrome" << endl;
    }
    return 0;
}

Trong đó, hàm isPalindrome nhận một số nguyên dương n và trả về true nếu n là số Palindrome, ngược lại trả về false. Hàm sử dụng một biến reversed để lưu giá trị số đảo ngược của n, và so sánh reversed với n để xác định xem n có phải là số Palindrome hay không./.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *