এই টিউটোরিয়ালে, আমরা ন্যূনতম সংখ্যক ক্রিয়াকলাপ ব্যবহার করে একটি সংখ্যা 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