Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để kiểm tra xem một số có phải là Palindrome hay không

Một số palindrome vẫn giữ nguyên nếu các chữ số của nó được đảo ngược, tức là giá trị của nó không thay đổi. Một số palindrome cũng có thể được gọi là đối xứng. Ví dụ:Các số 12321, 1551, 11, v.v ... là các dấu phẩy vì chúng không thay đổi ngay cả khi các chữ số của chúng bị đảo ngược.

Một chương trình kiểm tra xem một số có phải là palindrome hay không như sau.

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<<" is a palindrome"<<endl;
   else
   cout<<val<<" is not a palindrome"<<endl;
}
int main() {
   palindrome(12321);
   palindrome(1234);
   return 0;
}

Đầu ra

12321 is a palindrome
1234 is not a palindrome

Trong chương trình trên, hàm palindrome tìm xem số đó có phải là palindrome hay không. Hàm nhận một tham số, tức là num. Trước khi bất kỳ quá trình nào diễn ra, một bản sao của num được tạo ra, tức là val. Giá trị của num được đảo ngược và lưu trữ trong rev.

Điều này được hiển thị bằng đoạn mã sau -

int rev=0,val;
val = num;
while(num > 0) {
   rev = rev * 10 + num % 10;
   num = num / 10;
}

Sau đó, giá trị của rev được so sánh với val chứ không phải num. Điều này là do giá trị của num là 0 hiện tại. Nếu rev ​​bằng val thì số đó là palindrome và số này được in ra, số khác không phải là palindrome.

Điều này có thể được nhìn thấy trong đoạn mã sau.

if(val==rev)
cout<<val<<" is a palindrome"<<endl;
else
cout<<val<<" is not a palindrome"<<endl;