在本教程中,我们将编写一个程序来查找数字总和为 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
如果您对本教程有任何疑问,请在评论部分提及。