এই টিউটোরিয়ালে, আমরা শিখব কিভাবে একটি বড় সংখ্যাকে ভাগ করতে হয় যেটিকে একটি স্ট্রিং হিসাবে উপস্থাপন করা হয়।
আমরা স্ট্রিং বিন্যাসে একটি বড় সংখ্যা এবং একটি ভাজক দিয়েছি। আমাদের প্রোগ্রাম একটি অনুস্মারক খুঁজে পাওয়া উচিত.
প্রথমত, আমরা প্রদত্ত সংখ্যার একটি অংশ খুঁজে পাব যা লভ্যাংশের চেয়ে বড়। এবং তারপর আমরা ভাজকের সাথে এক এক করে অবশিষ্ট সংখ্যা যোগ করব।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷-
একটি ভাজক সহ বড় সংখ্যা শুরু করুন।
-
প্রদত্ত সংখ্যার উপর পুনরাবৃত্তি করুন যতক্ষণ না আমরা ভাজকের চেয়ে বড় অংশটি বের করি।
-
এখন, আগের ধাপে আমরা যেখান থেকে সংখ্যার শেষ পর্যন্ত রেখেছিলাম সেখান থেকে পুনরাবৃত্তি করুন।
-
নির্যাসিত অংশটিকে একটি ভাজক দিয়ে ভাগ করুন এবং ফলাফলে যোগ করুন।
-
পরবর্তী সংখ্যা দিয়ে নম্বরটি আপডেট করুন।
-
-
ফলাফল শূন্য কিনা পরীক্ষা করুন।
-
এবং ফলাফল প্রিন্ট করুন।
উদাহরণ
আসুন কোডটি দেখি।
#include <bits/stdc++.h> using namespace std; string divideLargeNumber(string number, int divisor) { // to store the result string result; int index = 0; // extracting the part that is greater than the given divisor int dividend = number[index] - '0'; while (dividend < divisor) { dividend = dividend * 10 + (number[++index] - '0'); } // iterating until all digits participate in the division while (number.size() > index) { result += (dividend / divisor) + '0'; // adding the next digit to the dividend dividend = (dividend % divisor) * 10 + number[++index] - '0'; } if (result.length() == 0) { return "0"; } return result; } int main() { string large_number = "12345678901234567890"; int divisor = 75; cout << divideLargeNumber(large_number, divisor) << endl; return 0; }
আউটপুট
আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
164609052016460905
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।