C++中数字和为10的第n个数字

在本教程中,我们将编写一个程序来查找数字总和为 10 的第 n 个数字。

让我们看看数字和为 10 的数字序列。

19、28、37、46、55,等等,

每个数字按上述顺序递增 9。在上面的序列中有数字总和不等于 10 的数字。因此,我们可以有一个循环,递增 9 并检查数字总和并找到第 n 个数字。

让我们看看解决问题的步骤。

  • 初始化数字n

  • 将计数器初始化为 0。

  • 编写一个从19 开始迭代的循环

    • 如果当前数字位数总和为 10,则将计数器加 1。

    • 如果计数器等于 n,则返回当前数字。

    • 将迭代变量增加 9。

示例

让我们看看代码。

#include <bits/stdc++.h>

using namespace std;

int findNthNumber(int n) {

   int count = 0, i = 19;

   while (true) {

      int sum = 0;

      for (int number = i; number > 0; number = number / 10) {

         sum = sum + number % 10;

      }

      if (sum == 10) {

         count++;

      }

      if (count == n) {

         return i;

      }

      i += 9;

   }

   return -1;

}

int main() {

   int n = 7;

   cout << findNthNumber(7) << endl;

   return 0;

}

输出结果

如果你运行上面的代码,那么你会得到下面的结果。

73

结论

如果您对本教程有任何疑问,请在评论部分提及。

以上是 C++中数字和为10的第n个数字 的全部内容, 来源链接: utcz.com/z/359256.html

回到顶部