এই সমস্যায় দুটি সংখ্যা K এবং D দেওয়া আছে। আমাদের K অঙ্কের একটি সংখ্যা প্রিন্ট করতে হবে যার ডিজিটাল রুট D হবে।
ডিজিটাল রুট হলো একটি একক অঙ্কের মান যা সংখ্যার অঙ্কগুলোর পুনরাবৃত্তি যোগফলের ফলাফল। এটাকে ডিজিটাল সম হিসেবেও ডাকা হয়।
উদাহরণ
ইনপুট: D = 5, K = 6 আউটপুট: 500000
এই সমস্যাটি সমাধানের জন্য D-এর পরে (K-1) সংখ্যক শূন্য বসানো হবে। আমাদের সংখ্যাটি হবে {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