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

C++-এ দুটি সংখ্যা যোগ করার সময় ক্যারি অপারেশন সংখ্যা গণনা


আমাদের দুটি সংখ্যা num_1 এবং num_2 দেওয়া আছে। লক্ষ্য হল তাদের যোগ করার সময় কতবার ক্যারি (carry) অপারেশন হয় তা বের করা।

উদাহরণ

ইনপুট: num_1 = 432, num_2 = 638

আউটপুট: ২

ব্যাখ্যা: ডান থেকে বাম: 2+8=10 (ক্যারি ১), 3+3+1=7 (ক্যারি ০), 4+6=10 (ক্যারি ১) — মোট ২বার।

ইনপুট: num_1 = 9999, num_2 = 111

আউটপুট: ৪

অ্যালগরিদম

  1. দুটি সংখ্যা স্ট্রিং-এ কনভার্ট করুন।
  2. শেষ থেকে শুরু করুন (স্ট্রিং-এর শেষ ইনডেক্স)।
  3. প্রতিটি ডিজিট ইন্ট-এ কনভার্ট করে যোগ করুন সাথে পिछলো ক্যারি।
  4. যদি যোগফল >= 10 হয়, ক্যারি = 1 এবং কাউন্ট বাড়ান। অন্যথায় ক্যারি = ০।
  5. দুটি স্ট্রিং খালি হয় পর্যন্ত চালিয়ে যান।

C++ বাস্তবায়ন

#include <bits/stdc++.h>
using namespace std;

int carry_add_two_numbers(int num_1, int num_2) {
    string str_1 = to_string(num_1);
    string str_2 = to_string(num_2);
    int len1 = str_1.length();
    int len2 = str_2.length();
    int count = 0, carry = 0;
    
    while (len1 > 0 || len2 > 0) {
        int i = 0, j = 0;
        if (len1 > 0) {
            i = str_1[len1 - 1] - '0';
            len1--;
        }
        if (len2 > 0) {
            j = str_2[len2 - 1] - '0';
            len2--;
        }
        int add = i + j + carry;
        if (add >= 10) {
            carry = 1;
            count++;
        } else {
            carry = 0;
        }
    }
    return count;
}

int main() {
    int num_1 = 234578;
    int num_2 = 1234;
    int count = carry_add_two_numbers(num_1, num_2);
    cout << "Count of number of carry operations required to add two numbers are: " << count;
    return 0;
}

আউটপুট

Count of number of carry operations required to add two numbers are: 2
  1. C++ প্রোগ্রাম: শত্রুকে পরাজয় করতে ন্যূনতম অপারেশন গণনা

  2. সব অ্যারে উপাদান সমান করার জন্য প্রয়োজনীয় অপারেশনের সংখ্যা বের করা C++-এ

  3. C++-এ পারমুটেশন অনুমানের জন্য সর্বাধিক মুভ সংখ্যা বের করা

  4. OpenCV-এ C++ ব্যবহার করে চেহারার সংখ্যা গণনা করা