在 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 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.