ในปัญหานี้ เราได้รับตัวเลข 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