কম্পিউটার

C++ প্রোগ্রামে প্রদত্ত বড় পূর্ণসংখ্যার ডিজিটাল রুট (পুনরাবৃত্ত ডিজিটাল যোগফল)


এই টিউটোরিয়ালে, আমরা শিখব কিভাবে একটি প্রদত্ত সংখ্যার ডিজিটাল রুট বের করতে হয়।

ডিজিটাল রুট হল অনেকগুলো সংখ্যার যোগফল (যতক্ষণ না অঙ্কের যোগফল এক অঙ্কে পরিণত হয়)।

আমাদের স্ট্রিং ফরম্যাটে একটি পূর্ণসংখ্যা দেওয়া হয়েছে। এবং আমাদের বারবার অঙ্কের যোগফল খুঁজে বের করতে হবে যতক্ষণ না যোগফল এক অঙ্কে পরিণত হয়।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • স্ট্রিং বিন্যাসে একটি পূর্ণসংখ্যা শুরু করুন।

  • সংখ্যার মাধ্যমে পুনরাবৃত্তি করুন এবং সমষ্টি পরিবর্তনশীলে প্রতিটি সংখ্যা যোগ করুন।

  • যদি যোগফল 0 হয়, তাহলে 0 প্রিন্ট করুন।

  • অন্যথায় যদি যোগফল 9 দ্বারা বিভাজ্য হয়, তাহলে উত্তর হবে 9।

  • অন্যথায় উত্তর হল সমষ্টি মডিউল 9।

উদাহরণ

আসুন কোডটি দেখি।

#include<bits/stdc++.h>
using namespace std;
int digitalRoot(string n) {
   int digitsSum = 0;
   for (int i = 0; i < n.length(); i++) {
      digitsSum += n[i] - '0';
   }
   if (digitsSum == 0) {
      return 0;
   }
   return digitsSum % 9 == 0 ? 9 : digitsSum % 9;
}
int main() {
   string n = "12345";
   cout << digitalRoot(n) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

6

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. C++ এ একটি প্রদত্ত বাইনারি গাছের বাম পাতার নোডের সমষ্টি খুঁজুন

  2. C++ এ একটি প্রদত্ত মান x পর্যন্ত যোগ করা সাবট্রি গণনা করুন

  3. একটি বাইনারি ট্রিতে সর্বাধিক সাব-ট্রির যোগফল যেমন C++ প্রোগ্রামে সাব-ট্রিও একটি BST

  4. C++ এ গভীরতম নোডের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম