কম্পিউটার

C++ এ দুটি বড় সংখ্যার যোগফল


এই সমস্যায়, আমাদের দুটি স্ট্রিং দেওয়া হয়েছে যা দুটি বড় সংখ্যাকে সংজ্ঞায়িত করে। আমাদের কাজ হল দুটি বড় সংখ্যার যোগফল বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

Input: number1 = “341299123919”
number2 = “52413424”
Output: 341351537343

এই সমস্যাটি সমাধান করতে, আমরা উভয় স্ট্রিং অতিক্রম করব। এবং অঙ্ক দ্বারা অঙ্ক যোগ করুন এবং বহন প্রচার করুন। এবং স্ট্রিং যোগ করার জন্য অঙ্ক দ্বারা ফলাফল সংখ্যা সংরক্ষণ করুন।

অ্যালগরিদম

Initialize sum = 0, carry = 0.
Step 1: loop from n to 0.
Step 1.1: intSum = number1[i] + number2[i]
Step 1.2: carry = intSum/10. Sum += intSum
Step 2: sum += carry.
Step 3: return sum.

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

#include<bits/stdc++.h>
using namespace std;
string addBigNumbers(string number1, string number2) {
   if (number1.length() > number2.length())
    swap(number1, number2);
   string sum = "";
   int len1 = number1.length();
   int len2 = number2.length();
   int digitDiff = len2 - len1;
   int carry = 0;
   int intSum;
   for (int i=len1-1; i>=0; i--) {
      intSum = ((number1[i]-'0') + (number2[i+digitDiff]- '0') + carry);
      sum.push_back(intSum%10 + '0');
      carry = intSum/10;
   }
   for (int i=digitDiff-1; i>=0; i--) {
      intSum = ((number2[i]-'0')+carry);
      sum.push_back(intSum%10 + '0');
      carry = intSum/10;
   }
   if (carry)
    sum.push_back(carry+'0');
   reverse(sum.begin(), sum.end());
   return sum;
}
int main() {
   string number1 = "235235823852";
   string number2 = "45230820348";
   cout<<"Sum of two large numbers is "<<addBigNumbers(number1,x number2);
   return 0;
}

আউটপুট

Sum of two large numbers is 280466644200



  1. C++ তে M মডুলো দুটি সংখ্যার যোগফল

  2. সিরিজের যোগফল 1, 3, 6, 10… (ত্রিভুজাকার সংখ্যা) C++ এ

  3. C++ এ N এর নিচের দুটি সংখ্যার গুণিতকের যোগফল

  4. দুই যোগফল IV - ইনপুট হল C++ এ একটি BST