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

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

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

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

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

Input : N = 15
Output : 15

स्पष्टीकरण -

Divisors of 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<<"The largest good Number in divisor of "<<n<<" is "<<findLargestGoodNumber(n); 
   return 0;
}

उदाहरण

The largest good Number in divisor of 28 is 14

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

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

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

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

  1. सी ++ प्रोग्राम किसी दिए गए स्ट्रिंग के क्रमपरिवर्तन की संख्या का पता लगाने के लिए

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