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