在这个问题中,我们给了两个数字K和D。我们的任务是打印出k个数字,并且其数字根等于D。
数字根是一位数字值,它是数字的数字递归加法直到达到一位数字的结果。也称为数字总和。
让我们举个例子来了解这个问题,
Input: D = 5 , K = 6
Output: 60000
为了解决这个问题,我们将在数字D之后使用零的试验。我们的数字将为{D000 ..(k-1 times)}。这是对我们的问题的简单而优雅的解决方案,它也不太复杂。
展示我们解决方案实施情况的程序,
#include <bits/stdc++.h>
using namespace std;
void printKdigitNumber(int k, int d) {
if (d == 0 && k != 1)
cout << "-1";
else {
cout << d;
k--;
while (k--)
cout << "0";
}
}
int main() {
int K=6, D=5;
cout<<K<<" digit number with digital Root = "<<D<<" is : ";
printKdigitNumber(K, D);
return 0;
}
输出结果
6 digit number with digital Root = 5 is : 500000