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

C++ में N से कम या बराबर संख्याओं में अंकों का अधिकतम गुणनफल ढूंढें


मान लीजिए, हमारे पास एक पूर्णांक N > 0 है। कार्य N से कम या बराबर संख्याओं में अंकों का अधिकतम गुणनफल ढूंढना है। यदि N 390 है, तो परिणाम 216 है, क्योंकि संख्या 389 अधिकतम गुणनफल 3 * 8 * 9 = 216 बनाती है।

इस समस्या को हल करने के लिए, हम रिकर्सिव दृष्टिकोण का उपयोग करेंगे। तो यदि N = 0, तो 1 वापस करें, यदि संख्या N < 10, तो N वापस करें, अन्यथा max(max_product(N/10) * (N mod 10), max_product((N/10) - 1)*9) वापस करें

उदाहरण

#include 
using namespace std;

int max_product(int N) {
    if (N == 0)
        return 1;
    if (N < 10)
        return N;
    return max(max_product(N / 10) * (N % 10), max_product(N / 10 - 1) * 9);
}

int main() {
    int N = 432;
    cout << "Maximum product is: " << max_product(N);
}

आउटपुट

Maximum product is: 243

  1. - C++ प्रोग्राम: जांचें कि n को k संख्याओं के गुणनफल के रूप में लिखा जा सकता है या नहीं

    मान लें हमारे पास एक संख्या N है। हमारे पास एक अन्य संख्या k है। हमें जांचना है कि संख्या को k संख्याओं का उपयोग करके दर्शाया जा सकता है या नहीं। मान लें संख्या 54 है, और k = 3, तो यह [2, 3, 9] जैसी संख्याएं प्रिंट करेगा, यदि इसे दर्शाया नहीं जा सकता, तो वह प्रिंट करें। इसे हल करने के लिए, हम N के

  1. - C++ में n से कम या बराबर सभी फैक्टोरियल संख्याएं खोजें

    यहां हम देखेंगे कि n से कम या बराबर सभी फैक्टोरियल संख्याओं को कैसे प्रिंट किया जाए। एक संख्या N को फैक्टोरियल संख्या कहा जाता है यदि यह किसी धनात्मक संख्या का फैक्टोरियल है। इसलिए कुछ फैक्टोरियल संख्याएं हैं: 1, 2, 6, 24, 120। फैक्टोरियल संख्याओं को प्रिंट करने के लिए, हमें सीधे फैक्टोरियल खोजने क

  1. - C++ प्रोग्राम: अद्वितीय जोड़े ढूंढें जहां प्रत्येक तत्व N से कम या बराबर हो

    इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो N से कम या बराबर तत्वों वाले संख्याओं के अद्वितीय जोड़े ढूंढता है और कुछ शर्तों का पालन करता है - दो संख्याओं के बीच अंतर का वर्ग उन दो संख्याओं के LCM के बराबर होना चाहिए। उन दो संख्याओं का HCF किन्हीं दो क्रमागत संख्याओं के गुणनफल के रूप में दर्शाया