首页  >  文章  >  后端开发  >  在C++中,将满足数字之和为十的第n个数字进行翻译

在C++中,将满足数字之和为十的第n个数字进行翻译

WBOY
WBOY转载
2023-09-05 08:41:04942浏览

在C++中,将满足数字之和为十的第n个数字进行翻译

各位数字和等于10的数字有

19、28、37、46、55、64、73、82、91等,

如果你观察这个数列,每个数字都加9。在上面的序列中,在加9的过程中,有一些数字的数字和不等于10。但是,你会得到所有数字和等于10的数字。

因此,我们可以有一个循环,以 9 递增并检查数字总和并找到第 n 个数字。让我们看一些示例

输入

3
7

输出

37
73

算法

  • 初始化数字n
  • 将计数器初始化为0。
  • 编写一个从 19
    • 如果当前数字总和为 10,则将计数器加 1 的循环。
    • 如果计数器等于n,则返回当前数字。
    • 将迭代变量增加9。

实现

以下是上述算法的C++实现
#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++中,将满足数字之和为十的第n个数字进行翻译的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除