在C ++中以数字根D打印包含K位的数字
在这个问题中,我们给了两个数字K和D。我们的任务是打印出k个数字,并且其数字根等于D。
数字根是一位数字值,它是数字的数字递归加法直到达到一位数字的结果。也称为数字总和。
让我们举个例子来了解这个问题,
Input: D = 5 , K = 6 Output: 60000
为了解决这个问题,我们将在数字D之后使用零的试验。我们的数字将为{D000..(k-1times)}。这是对我们的问题的简单而优雅的解决方案,它也不太复杂。
示例
展示我们解决方案实施情况的程序,
#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