以 C++ 打印包含 K 位数字且数字根为 D 的数字
本文中,我们给出两个数字 K 和 D。我们的任务是打印一个 k 位数字且数字根等于 D 的数字。
数字根是一个单位数,它是数字的各个数字递归相加的结果,直到得到一个单位数。也称为数字和。
举个例子来理解这个问题,
Input: D = 5 , K = 6 Output: 60000
为了解决这个问题,我们在数字 D 后面试用零。我们的数字将是{D000..(k-1 次)}。这是一个简单优雅的解决方法,并且不太复杂。
示例
显示我们解决方法实现的程序,
#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
广告