Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

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++ में बाइनरी मैट्रिक्स को ज़ीरो मैट्रिक्स में बदलने के लिए फ़्लिप की न्यूनतम संख्या

    मान लीजिए हमारे पास एक m x n बाइनरी मैट्रिक्स मैट है। एक चरण में, हम एक सेल चुन सकते हैं और उसके बिट को फ्लिप कर सकते हैं और यदि वे मौजूद हैं तो उसके चारों पड़ोसी। हमें मैट को शून्य मैट्रिक्स में बदलने के लिए आवश्यक न्यूनतम चरणों की संख्या ज्ञात करनी होगी। अगर कोई समाधान नहीं है, तो -1 लौटें। इसलिए

  1. C++ का प्रयोग करते हुए संख्या के गुणनखंडों का न्यूनतम योग ज्ञात कीजिए।

    यहां हम देखेंगे कि किसी दी गई संख्या के कारकों का न्यूनतम योग कैसे प्राप्त करें। मान लीजिए एक संख्या 12 है। हम इसे अलग-अलग तरीकों से गुणनखंडित कर सकते हैं - 12 =12 * 1 (12 + 1 =13) 12 =2 * 6 (2 + 6 =8) 12 =3 * 4 (3 + 4 =7) 12 =2 * 2 * 3 (2 + 2 + 3 =7) न्यूनतम योग 7 है। हम एक संख्या लेंगे और न्यून

  1. स्टैक का उपयोग करके दशमलव संख्या को बाइनरी नंबर में बदलने के लिए C++ प्रोग्राम

    इस समस्या में, हम देखेंगे कि स्टैक का उपयोग करके दशमलव संख्या को बाइनरी संख्याओं में कैसे परिवर्तित किया जाए। जैसा कि हम जानते हैं कि दशमलव संख्याओं को 2 से विभाजित करने और शेष लेने के बाद बाइनरी का उपयोग करके परिवर्तित किया जा सकता है। हम शेष को अंतिम से पहले तक लेते हैं, इसलिए हम ऐसा करने के लिए आ