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

C++ में दिए गए संख्या N के भाजकों में सबसे बड़ी अच्छी संख्या ज्ञात करें


इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य दिए गए संख्या N के भाजकों में सबसे बड़ी अच्छी संख्या ज्ञात करना है।

एक अच्छी संख्या वह संख्या है जिसमें प्रत्येक अंक उसके दाईं ओर के अंकों के योग से बड़ा होता है (उससे कम महत्वपूर्ण सभी बिट्स)। उदाहरण के लिए, 732 एक अच्छी संख्या है, 7> 3+2 और 3>2।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट : N = 15 आउटपुट : 15

व्याख्या −

15 के भाजक : 1, 3, 5, 15। 

समाधान दृष्टिकोण

समस्या का एक सरल समाधान N के सभी भाजकों को ढूंढना है। और फिर सबसे बड़ी अच्छी संख्या ढूंढना जो संख्या के सभी अभाज्य भाजकों के गुणनफल के रूप में निकाली जाती है।

उदाहरण

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम

#include <bits/stdc++.h> using namespace std; int findLargestGoodNumber(int n){    vector<int> primeFactors;    int x = n;    for (int i = 2; i * i <= n; i++) {       if (x % i == 0) {          primeFactors.push_back(i);          while (x % i == 0)             x /= i;       }    }    if (x > 1)       primeFactors.push_back(x);    int goodNumber = 1;    for (int i = 0; i < primeFactors.size(); i++)       goodNumber = goodNumber * primeFactors[i];    return goodNumber; } int main(){    int n = 28;    cout<<""<<n<<" के भाजक में सबसे बड़ी अच्छी संख्या है "<<findLargestGoodNumber(n); return 0; }

उदाहरण

28 के भाजक में सबसे बड़ी अच्छी संख्या 14 है 

  1. - C++ में जांचें कि दी गई संख्या अनंत अनुक्रम में मौजूद है या नहीं

    मान लीजिए हमारे पास तीन पूर्णांक a, b और c हैं। मान लीजिए एक अनंत अनुक्रम में, a पहला पद है, और c एक सामान्य अंतर है। हमें जांचना है कि b अनुक्रम में मौजूद है या नहीं। मान लीजिए मान a = 1, b = 7 और c = 3 हैं, तो अनुक्रम 1, 4, 7, 10, ... होगा, तो 7 अनुक्रम में मौजूद है, इसलिए आउटपुट yes होगा। इस सम

  1. - दिए गए अंकों से बनने वाली सबसे बड़ी संख्या खोजें C++ में

    मान लीजिए हमारे पास अंकों का एक ऐरे है। हमें ऐरे के सभी अंकों का उपयोग करके प्राप्त की जा सकने वाली अधिकतम संख्या खोजनी है। तो यदि ऐरे [3, 3, 9, 6, 2, 5] जैसा है, तो अधिकतम संख्या 965332 हो सकती है। समस्या से, हम देख सकते हैं कि हम अंकों को गैर-बढ़ते क्रम में आसानी से सॉर्ट कर सकते हैं, फिर उन्हें प

  1. - C++ प्रोग्राम: दी गई स्ट्रिंग के क्रमचय (Permutations) की संख्या ज्ञात करना

    हम एक स्ट्रिंग के कैरेक्टर्स को अलग-अलग क्रम में व्यवस्थित कर सकते हैं। यहां हम देखेंगे कि दी गई स्ट्रिंग से कितने क्रमचय बनाए जा सकते हैं। हम जानते हैं कि यदि एक स्ट्रिंग abc है। इसमें तीन कैरेक्टर्स हैं; हम उन्हें 3! = 6 अलग-अलग तरीकों से व्यवस्थित कर सकते हैं। इसलिए n कैरेक्टर्स वाली स्ट्रिंग क