在 C++ 中檢查一個數字是否為迴文數


在這裡,我們將看到如何檢查一個數字是否為迴文數。迴文數在兩個方向上是相同的。例如,數字 12321 是迴文數,但 12345 不是迴文數。

這個邏輯非常簡單。我們必須反轉此數字,如果反轉的數字與實際數字相同,那麼它就是迴文數,否則不是。讓我們看看這個演算法以獲得一個更清晰的概念。

演算法

isPalindrome(n) −

輸入 − 數字 n

輸出 − 如果數字是迴文數,則為真,否則為假

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

示例

 線上演示

#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";
   }
}

輸出

12321 is palindrome number

更新於: 2019-10-22

609 瀏覽量

開啟你的 職業

完成課程便可獲得認證

開始學習
廣告