在 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
廣告