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

अलग-अलग संख्याओं का अधिकतम योग इस प्रकार है कि इन संख्याओं का LCM C++ में N है

इस समस्या में, हम एक संख्या N हैं। हमारा कार्य अलग-अलग संख्याओं का अधिकतम योग ज्ञात करने के लिए एक प्रोग्राम बनाना है, ताकि इन संख्याओं का LCM C++ में N हो।

समस्या का विवरण

हमें संख्या N के सभी गुणनखंडों का योग ज्ञात करना होगा और अधिकतम योग ज्ञात करने के लिए सभी भिन्न को जोड़ना होगा।

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

इनपुट

N = 12

आउटपुट

28

स्पष्टीकरण

All distinct factors of N are 1, 2, 3, 4, 6, 12.
Sum = 1 + 2 + 3 + 4 + 6 + 12 = 28

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

एक सरल समाधान यह होगा कि संख्या के सभी गुणनखंडों को खोजा जाए और फिर परिणाम प्राप्त करने के लिए सभी भिन्न कारकों को जोड़ा जाए।

इसके लिए, हम N के वर्गमूल तक पुनरावृति करेंगे। और जाँच करें कि क्या संख्या N को विभाजित करती है। यदि हाँ, तो जाँच करें कि क्या यह अलग है, यदि हाँ, तो संख्या और भाग भागफल जोड़ें अन्यथा संख्या जोड़ें। अंतिम अधिकतम राशि लौटाएं।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
int calcMaxSumForLCM(int N){
   int maxSum = 0;
   for (int i = 1; i*i <= N; i++){
      if (N%i == 0){
         if (i == (N/i))
            maxSum = maxSum + i;
         else
            maxSum = maxSum + i + (N/i);
      }
   }
   return maxSum;
}
int main(){
   int N = 17;
   cout<<"The sum of distinct numbers such that LCM if these numbers is "<<N<<" is "<<calcMaxSumForLCM(N);
   return 0;
}

आउटपुट

The sum of distinct numbers such that LCM if these numbers is 17 is 18

  1. अधिकतम अनुवर्ती योग जैसे कि C++ प्रोग्राम में कोई तीन क्रमागत न हों

    इस समस्या में, हमें n धनात्मक पूर्णांकों से युक्त एक सरणी arr[] दिया जाता है। हमारा कार्य अधिकतम अनुवर्ती योग ज्ञात करने के लिए एक प्रोग्राम बनाना है ताकि कोई तीन क्रमागत न हो। समस्या का विवरण - यहां, हमें सरणी से बनाए गए अनुक्रमों का योग इस तरह निकालने की आवश्यकता है कि कोई लगातार तीन तत्व न हों।

  1. बाइनरी ट्री में अधिकतम उप-वृक्ष योग जैसे कि उप-वृक्ष भी C++ प्रोग्राम में एक BST है

    इस समस्या में हमें एक बाइनरी ट्री BT दिया जाता है। हमारा काम बाइनरी ट्री में अधिकतम उप-वृक्ष योग को खोजने के लिए एक प्रोग्राम बनाना है जैसे कि उप-पेड़ भी एक बीएसटी है। बाइनरी ट्री की एक विशेष शर्त है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं। बाइनरी सर्च ट्री एक ऐसा पेड़ है जिसमें सभी नोड्

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि