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

숫자가 C++의 신비한 숫자인지 확인

<시간/>

여기서 번호가 미스터리 번호인지 확인하는 방법에 대해 알아보겠습니다. 미스터리 넘버(Mystery number)는 두 숫자의 합으로 나타낼 수 있는 숫자로, 그 숫자는 역순이다. 더 나은 아이디어를 얻기 위해 코드를 살펴보겠습니다. 모든 쌍을 확인하고 결정을 찾아야 합니다.

예시

#include <bits/stdc++.h>
using namespace std;
int revNum(int str) {
   string s = to_string(str);
   reverse(s.begin(), s.end());
   stringstream ss(s);
   int rev = 0;
   ss >> rev;
   return rev;
}
bool isMysteryNumber(int n) {
   for (int i=1; i <= n/2; i++) {
      int j = revNum(i);
      if (i + j == n) {
         cout << i << " " << j;
         return true;
      }
   }
   return false;
}
int main() {
   int num = 121;
   if(isMysteryNumber(num)){
      cout << "\n" << num << " is a Mystery number";
   }else{
      cout << " is not a Mystery number";
   }
}

출력

29 92
121 is a Mystery number