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

Số nguyên Palindrome trong C ++

Giả sử chúng ta có một số nguyên không âm được gọi là num, chúng ta phải kiểm tra xem nó có phải là palindrome hay không, nhưng không sử dụng chuỗi.

Vì vậy, nếu đầu vào là 1331, thì đầu ra sẽ là true.

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau -

  • ret:=0

  • x:=num

  • trong khi num> 0, do -

    • d:=num mod 10

    • ret:=ret * 10

    • ret:=ret + d

    • num:=num / 10

  • trả về true khi x giống với ret

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   bool solve(int num) {
      int ret = 0;
      int x = num;
      while(num > 0){
         int d = num % 10;
         ret *= 10;
         ret += d;
         num /= 10;
      }
      return x == ret;
   }
};
main() {
   Solution ob;
   cout << (ob.solve(1331));
}

Đầu vào

1331

Đầu ra

1