使用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

以上是 使用C ++,找到一个数字x,以使x及其数字的总和等于给定的n。 的全部内容, 来源链接: utcz.com/z/331115.html

回到顶部