Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 회문 정수

<시간/>

num이라는 음이 아닌 정수가 있다고 가정하고 회문인지 아닌지 확인해야 하지만 문자열은 사용하지 않습니다.

따라서 입력이 1331과 같으면 출력이 true가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • ret :=0

  • x :=숫자

  • num> 0일 때 −

    • d :=숫자 모드 10

    • 렛 :=렛 * 10

    • 렛 :=렛 + d

    • 숫자 :=숫자 / 10

  • x가 ret와 같을 때 true를 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

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

입력

1331

출력

1