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

Chương trình C++ kiểm tra số đối xứng (palindrome)


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;