Số đối xứng (palindrome) là số không thay đổi khi đảo ngược các chữ số. Các số 12321, 1551, 11 là palindrome vì không đổi khi đảo chữ số.
Chương trình kiểm tra số palindrome:
Ví dụ
#include <iostream>
using namespace std;
void palindrome(int num) {
int rev = 0, val;
val = num;
while (num > 0) {
rev = rev * 10 + num % 10;
num = num / 10;
}
if (val == rev)
cout << val << " là số đối xứng" << endl;
else
cout << val << " không phải số đối xứng" << endl;
}
int main() {
palindrome(12321);
palindrome(1234);
return 0;
}
Kết quả đầu ra
12321 là số đối xứng 1234 không phải số đối xứng
Trong chương trình, hàm palindrome kiểm tra số đối xứng. Tham số num. Trước khi xử lý, sao chép num vào val. Đảo ngược num lưu vào rev:
int rev = 0, val;
val = num;
while (num > 0) {
rev = rev * 10 + num % 10;
num = num / 10;
}
So sánh rev với val (không so với num vì num đã về 0). Nếu bằng nhau thì là palindrome:
if (val == rev) cout << val << " là số đối xứng" << endl; else cout << val << " không phải số đối xứng" << endl;