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

C++-এ সংখ্যা m কে n-এ রূপান্তর করতে ন্যূনতম অপারেশন


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

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

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

  • দেওয়া সংখ্যাকে ২ দিয়ে গুণ করা

  • দেওয়া সংখ্যা থেকে ১ বিয়োগ করা

উদাহরণ

#include <bits/stdc++.h> using namespace std; //অ্যাপারেশন সংখ্যা বের করা int convert(int m, int n){    if (m == n)       return 0;    if (m > n)    return m - n;    //এই পরিস্থিতিতে রূপান্তর সম্ভব নয়    if (m <= 0 && n > 0)       return -1;    //যখন n বড় এবং বিজোড়    if (n % 2 == 1)    //m-এ '-1' অপারেশন       return 1 + convert(m, n + 1);    //যখন n জোড়    else    //m-এ '*2' অপারেশন       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. সি++-এ বাইনারি ম্যাট্রিক্সকে শূন্য ম্যাট্রিক্সে রূপান্তর করার জন্য ন্যূনতম ফ্লিপ সংখ্যা

  2. C++ ব্যবহার করে N কে ২৫ দিয়ে বিভাজ্য করার ন্যূনতম মুভ সংখ্যা

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

  4. C++ প্রোগ্রাম: স্ট্যাক ব্যবহার করে ডেসিমাল নম্বরকে বাইনারি নম্বরে কনভার্ট করা