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

C++ में दी गई ऑपरेशन का उपयोग करके संख्या m को n में बदलें


इस ट्यूटोरियल में, हम एक प्रोग्राम पर चर्चा करेंगे जो दी गई ऑपरेशन का न्यूनतम संख्या में उपयोग करके संख्या m को n में बदलता है।

इसके लिए हमें दो पूर्णांक m और n दिए जाएंगे। हमारा कार्य पूर्णांक m को n में बदलना है दिए गए ऑपरेशन का कम से कम उपयोग करके।

अनुमत ऑपरेशन -

  • दिए गए संख्या को 2 से गुणा करें

  • दिए गए संख्या से 1 घटाएं

उदाहरण

#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 बड़ा है और 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. C++ में बाइनरी मैट्रिक्स को शून्य मैट्रिक्स में बदलने के लिए न्यूनतम फ्लिप C++ में बाइनरी मैट्रिक्स को शून्य मैट्रिक्स में बदलने के लिए न्यूनतम फ्लिप

    मान लीजिए हमारे पास एक m x n बाइनरी मैट्रिक्स mat है। एक चरण में, हम एक सेल चुन सकते हैं और उसके बिट और उसके चारों पड़ोसियों (यदि मौजूद हों) को फ्लिप कर सकते हैं। हमें मैट्रिक्स को शून्य मैट्रिक्स में बदलने के लिए आवश्यक न्यूनतम चरणों की संख्या ज्ञात करनी है। यदि कोई समाधान नहीं है, तो -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 से विभाजित करके और शेषफल लेकर बाइनरी में बदला जा सकता है। हम अंतिम से पहला शेषफल लेते हैं, इसलिए हम इसे आसानी से करने के लिए स्टैक डेटा स्ट्रक्चर का उपयोग कर