检查数字是否为C ++中的回文

在这里,我们将看到如何检查数字是否是回文。回文数在两个方向上均相同。例如,数字12321是回文,但12345不是回文。

逻辑很简单。我们必须反转数字,如果反转的数字与实际数字相同,则为回文,否则为非。让我们看看该算法以获得更好的主意。

算法

isPalindrome(n)-

输入-数字n

输出-如果数字是回文,则为true,否则为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

示例

#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

以上是 检查数字是否为C ++中的回文 的全部内容, 来源链接: utcz.com/z/322237.html

回到顶部