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

Kiểm tra xem một số có phải là Palindrome trong C ++ hay không

Ở đây chúng ta sẽ thấy, làm thế nào để kiểm tra một số có phải là palindrome hay không. Các số palindrome giống nhau theo cả hai hướng. Ví dụ:số 12321 là palindrome, nhưng 12345 không phải là palindrome.

Logic là rất thẳng về phía trước. Chúng ta phải đảo ngược số, và nếu số bị đảo ngược giống với số thực thì đó là palindrome, ngược lại thì không. Hãy để chúng tôi xem thuật toán để hiểu rõ hơn.

Thuật toán

isPalindrome (n) -

đầu vào - Số n

đầu ra - true, nếu số là palindrome, ngược lại, false

begin
   temp := n
   rev := 0
   while n > 0, do
      rev := rev * 10 + (n mod 10)
      n := n / 10
   done
   if rev = temp, then
      return true
   return 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; //take the last digit, and attach with the rev 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";
   }
}

Đầu ra

12321 is palindrome number