在C++中查詢一個數x,使得x與其各位數字之和等於給定的n


這裡我們將看到一個問題,我們取一個數字n,必須找到另一個值,比如x,使得x加上x的各位數字之和等於給定的數字n。假設n的值是21。該程式將返回數字x = 15,因為15 + 15的各位數字之和,即15 + 1 + 5 = 21 = n。

為了解決這個問題,我們必須遵循簡單的方法。我們將從1迭代到n,在每次迭代中,我們將檢視數字及其各位數字之和是否與該數字相同,如果是,則停止,否則繼續。

示例

 線上演示

#include<iostream>
using namespace std;
int getDigitSum(int n) {
   int sum = 0;
   while (n) {
      sum += n % 10;
      n /= 10;
   }
   return sum;
}
int getNumber(int n) {
   for (int i = 0; i <= n; i++)
      if (i + getDigitSum(i) == n)
         return i;
         return -1;
}
int main() {
   int n = 21;
   cout << "The value of x is: " << getNumber(n);
}

輸出

The value of x is: 15

更新於:2019年10月24日

288 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.