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