কম্পিউটার

C++ এ ন্যূনতম সংখ্যক প্রদত্ত ক্রিয়াকলাপ ব্যবহার করে একটি সংখ্যা m কে n এ রূপান্তর করুন


এই টিউটোরিয়ালে, আমরা ন্যূনতম সংখ্যক ক্রিয়াকলাপ ব্যবহার করে একটি সংখ্যা m কে n এ রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।

এর জন্য আমাদের দুটি পূর্ণসংখ্যা m এবং n দেওয়া হবে। আমাদের কাজ হল প্রদত্ত ক্রিয়াকলাপগুলিকে সর্বনিম্নবার ব্যবহার করে পূর্ণসংখ্যা m কে n তে রূপান্তর করা।

অনুমোদিত অপারেশন -

  • প্রদত্ত সংখ্যাটিকে 2 দ্বারা গুণ করুন

  • প্রদত্ত সংখ্যা থেকে একটি বিয়োগ করুন

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//finding minimum number of operations required
int convert(int m, int n){
   if (m == n)
      return 0;
   if (m > n)
   return m - n;
   //can't convert in this situation
   if (m <= 0 && n > 0)
      return -1;
   //when n is greater and n is odd
   if (n % 2 == 1)
   //performing '-1' on m
      return 1 + convert(m, n + 1);
   //when n is even
   else
   //performing '*2' on m
      return 1 + convert(m, n / 2);
}
int main(){
   int m = 5, n = 11;
   cout << "Minimum number of operations : " << convert(m, n);
   return 0;
}

আউটপুট

Minimum number of operations : 5

  1. C++ এ বাইনারি ম্যাট্রিক্সকে জিরো ম্যাট্রিক্সে রূপান্তর করতে ফ্লিপের ন্যূনতম সংখ্যা

  2. C++ ব্যবহার করে N 25 দ্বারা বিভাজ্য করার জন্য প্রদত্ত চালের ন্যূনতম সংখ্যা প্রয়োজন।

  3. C++ ব্যবহার করে সংখ্যার ন্যূনতম যোগফল নির্ণয় করুন।

  4. স্ট্যাক ব্যবহার করে একটি দশমিক সংখ্যাকে বাইনারি নম্বরে রূপান্তর করতে C++ প্রোগ্রাম