在 C++ 中检查数字是否是神秘数


本文将介绍如何检查数字是否是神秘数。神秘数是可以由两个数字之和表示的数字,而且这两个数字是彼此的倒数。我们来看一下代码以获得更好的理解。我们需要检查所有对,并找到决策。

示例

 在线演示

#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

更新于:2019 年 9 月 27 日

600 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告