কম্পিউটার টিউটোরিয়াল

স্ট্রিং আকারে বড় সংখ্যা ভাগ করা C++ প্রোগ্রামে


এই টিউটোরিয়ালে আমরা শিখব কিভাবে স্ট্রিং আকারে উপস্থাপিত একটি বড় সংখ্যাকে ভাগ করা যায়।

স্ট্রিং ফরম্যাটে একটি বড় সংখ্যা এবং একটি ভাজক দেওয়া আছে। আমাদের প্রোগ্রামটি ভাগশেষ বের করবে।

প্রথমে দেওয়া সংখ্যার সেই অংশটি বের করব যা ভাজকের চেয়ে বড়। তারপর বাকি ডিজিটগুলো এক এক করে ভাজকে যোগ করব।

সমস্যা সমাধানের ধাপগুলো:

  • বড় সংখ্যা এবং একটি ভাজক ইনিশিয়ালাইজ করুন।

  • দেওয়া সংখ্যার ওপর ইটারেট করুন যতক্ষণ না ভাজকের চেয়ে বড় অংশটি পাওয়া যায়।

  • এখন যেখানে ছেড়ে দিয়েছিলাম সেখান থেকে সংখ্যার শেষ পর্যন্ত ইটারেট করুন।

    • নিখুঁত অংশকে ভাজক দিয়ে ভাগ করে ফলাফলে যোগ করুন।

    • পরবর্তী ডিজিট যোগ করে ভাজ্য আপডেট করুন।

  • ফলাফল শূন্য কিনা তা যাচাই করুন।

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#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

উপসংহার

টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।


  1. C++ প্রোগ্রাম: স্ট্রিংয়ের পারমুটেশন সংখ্যা বের করা

  2. C++ প্রোগ্রাম: বড় সংখ্যক এলিমেন্টে কুইক সোর্ট করা

  3. C++ প্রোগ্রাম: র‍্যান্ডম নম্বর জেনারেট

  4. আর্মস্ট্রং নম্বর (Armstrong Number) চেক করার C++ প্রোগ্রাম