여기서 번호가 미스터리 번호인지 확인하는 방법에 대해 알아보겠습니다. 미스터리 넘버(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