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

দুই স্ট্রিং গুণ করে ফলাফল স্ট্রিং হিসেবে ফেরত দেওয়া C++-এ


দুটি বড় সংখ্যা স্ট্রিং হিসেবে দেওয়া আছে। লক্ষ্য হল সেগুলো গুণ করে ফলাফলও স্ট্রিং হিসেবে ফেরত দেওয়া। যেমন "28" × "25" = "700"।

গ্রেড স্কুল গুণ পদ্ধতি: প্রতিটি ডিজিট গুণ করে পজিশন অনুযায়ী যোগ করা হয়। স্ট্রিং অ্যারে দিয়ে ইন্টারমিডিয়েট ফলাফল সংরক্ষণ করা হয়।

C++ কোড উদাহরণ
#include 
using namespace std;

class Solution {
public:
    string multiply(string num1, string num2);
};

string Solution::multiply(string nums1, string nums2) {
    int n = nums1.size();
    int m = nums2.size();
    string ans(n + m, '0');
    for(int i = n - 1; i >= 0; i--){
        for(int j = m - 1; j >= 0; j--){
            int p = (nums1[i] - '0') * (nums2[j] - '0') + (ans[i + j + 1] - '0');
            ans[i+j+1] = p % 10 + '0';
            ans[i+j] += p / 10;
        }
    }
    for(int i = 0; i < m + n; i++){
        if(ans[i] != '0') return ans.substr(i);
    }
    return "0";
}

int main(){
    Solution ob;
    cout << ob.multiply("28", "25");
    return 0;
}
আউটপুট

ইনপুট "28", "25" এর জন্য আউটপুট:

"700"
  1. সি++-এ দুটি বাইনারি স্ট্রিং যোগ করার প্রোগ্রাম

  2. দুই স্ট্রিং তুলনা করার জাভা প্রোগ্রাম (ম্যানুয়াল পদ্ধতি)

  3. C++-এ দুটি বাইনারি স্ট্রিং যোগ করে ফলাফল বাইনারি স্ট্রিং হিসেবে ফেরত দেওয়ার প্রোগ্রাম

  4. C++-এ স্ট্রিং গুণফল