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

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

WBOY
发布: 2023-09-05 08:41:04
转载
1068 人浏览过

在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。

实现

< p>以下是上述算法的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
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板