আমাদের দুটি সংখ্যা num_1 এবং num_2 দেওয়া হয়েছে। লক্ষ্য হল সংখ্যা যোগ করা হলে প্রয়োজনীয় বহন অপারেশনের সংখ্যা গণনা করা। যদি সংখ্যা 123 এবং 157 হয় তাহলে ক্যারি অপারেশন হবে 1। (7+3=10, 1+2+5=8, 1+1=2)।
আসুন উদাহরণ দিয়ে বুঝতে পারি
ইনপুট − num_1=432 num_2=638
আউটপুট − দুটি সংখ্যা যোগ করার জন্য প্রয়োজনীয় ক্যারি অপারেশনের সংখ্যা হল − 2
ব্যাখ্যা - ডান থেকে বামে সংখ্যা যোগ করা এবং ক্যারি গণনা করা −
(2+9=10, carry 1 ) count=1, (1+3+3=7, carry 0 ) count=1, (4+6=10, carry 1 ) count=2
ইনপুট − num_1=9999 num_2=111
আউটপুট − দুটি সংখ্যা যোগ করার জন্য প্রয়োজনীয় ক্যারি অপারেশনের সংখ্যা হল − 4
ব্যাখ্যা - ডান থেকে বামে সংখ্যা যোগ করা এবং ক্যারি গণনা করা −
(9+1=10, carry 1 ) count=1, (1+9+1=11, carry 1 ) count=2, (1+9+1=11, carry 1 ) count=3, (1+9=10, carry 1) count=4
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
আমরা উভয় সংখ্যাকে স্ট্রিং-এ রূপান্তর করব। শেষ থেকে স্ট্রিংগুলি অতিক্রম করা শুরু করুন, অক্ষরটিকে একটি পূর্ণসংখ্যাতে রূপান্তর করুন, উভয় এবং পূর্ববর্তী বহন যোগ করুন (1ম পুনরাবৃত্তির জন্য 0), যদি মান>10 সেট বহন করে 1 হিসাবে। যদি বহনটি বহনের 1 বৃদ্ধির সংখ্যা হয়।
-
num_1 এবং num_2 হিসাবে দুটি সংখ্যা নিন।
-
ক্যারি_অ্যাড_দুটি_সংখ্যা(সংখ্যা_1, সংখ্যা_2) ফাংশন উভয়ই সংখ্যা গ্রহণ করে এবং উভয় যোগ করা হলে প্রয়োজনীয় বহনের গণনা প্রদান করে।
-
উভয় সংখ্যাকে to_string(x) ব্যবহার করে স্ট্রিং-এ রূপান্তর করুন এবং str_1 এবং str_2 এ সংরক্ষণ করুন।
-
length() ব্যবহার করে উভয় স্ট্রিংয়ের দৈর্ঘ্য নিন lengt_str_1 এবং length_str_2।
-
প্রারম্ভিক গণনা 0 হিসাবে নিন এবং প্রাথমিক ক্যারিও 0 এর মতো।
-
যদিও উভয় দৈর্ঘ্য অ-শূন্য।
-
শেষ অক্ষর থেকে পূর্ণসংখ্যাতে রূপান্তর করতে থাকুন এবং i এবং j ভেরিয়েবলে পূর্ণসংখ্যা সংরক্ষণ করুন।
-
উভয় স্ট্রিং এর দৈর্ঘ্য কমিয়ে দিন।
-
i+j+carry হিসেবে যোগ করতে ভেরিয়েবল নিন।
-
যদি>10 যোগ করেন তাহলে সংখ্যা বৃদ্ধি করুন (যেমন এটি বহন করা হয়)। এবং ক্যারি=1 সেট করুন। অন্যথায় পরবর্তী পুনরাবৃত্তির জন্য বহন=0 সেট করুন।
-
সমস্ত পুনরাবৃত্তি শেষ হওয়ার পরে, গণনায় মোট বহনের সংখ্যা থাকবে।
-
ফলাফল হিসাবে রিটার্ন গণনা।
উদাহরণ
#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); int length_str_1 = str_1.length(); string str_2 = to_string(num_2); int length_str_2 = str_2.length(); int count = 0, carr = 0; while(length_str_1 != 0 || length_str_2 != 0){ int i = 0, j = 0; if (length_str_1 > 0){ i = str_1[length_str_1 - 1] - '0'; length_str_1--; } if (length_str_2 > 0){ j = str_2[length_str_2 - 1] - '0'; length_str_2--; } int add = i + j + carr; if (add >= 10){ carr = 1; count++; } else{ carr = 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