在 C++ 中查找第 M 个数字,其数字的重复和为 N


在这个问题中,我们给定两个正数 N 和 M。我们的任务是 *查找第 M 个数字,其数字的重复和为 N*。

问题描述:在这里,我们需要找到第 M 个数字,其数字的和直到和变为一位数等于 N。

让我们举个例子来理解这个问题,

输入:N = 4 M = 6

输出:49

解决方案方法

问题的简单解决方案是找到所有数字并计算数字和为 N 的数字,并返回第 m 个数字。

解决问题的另一种方法是使用公式来查找数字和等于 N 的第 M 个数字,

第 M 个数字 = (m-1)*9 + N

程序说明我们解决方案的工作原理,

示例

现场演示

#include <bits/stdc++.h>
using namespace std;

int main() {

   int n = 4, m = 6;
   int mNumber = (m - 1) * 9 + n;
   cout<<m<<"-th number whose repeated sum of digits of a number is "<<n<<" is "<<mNumber;
   return 0;
}

输出

6-th number whose repeated sum of digits of a number is 4 is 49

更新于: 2021-01-25

113 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告