কম্পিউটার

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


আমাদের দুটি সংখ্যা 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

  1. শত্রুকে পরাস্ত করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার জন্য C++ প্রোগ্রাম

  2. C++-এ সমস্ত অ্যারের উপাদানকে সমান করতে প্রয়োজনীয় ক্রিয়াকলাপগুলির সংখ্যা খুঁজুন

  3. C++ এ একটি স্থানচ্যুতি অনুমান করার জন্য প্রয়োজনীয় চালের সংখ্যা

  4. কিভাবে C++ ব্যবহার করে OpenCV-তে মুখের সংখ্যা গণনা করবেন?