इस ट्यूटोरियल में, हम दिए गए ऑपरेशनों की न्यूनतम संख्या का उपयोग करके किसी संख्या को 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