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

Kiểm tra xem một số có phải là Số bí ẩn trong C ++ hay không

Sau đây chúng ta sẽ xem cách kiểm tra một số có phải là số Bí ẩn hay không. Số bí ẩn là một số có thể được biểu diễn bằng tổng của hai số và các số đảo ngược nhau. Hãy cho chúng tôi xem mã để có được ý tưởng tốt hơn. Chúng tôi phải kiểm tra tất cả các cặp và tìm quyết định.

Ví dụ

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

Đầu ra

29 92
121 is a Mystery number