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

C++ में एक भाजक द्वारा N को बार-बार विभाजित करने के बाद अधिकतम योग

इस समस्या में, हमें एक पूर्णांक N दिया जाता है। हमारा कार्य एक प्रोग्राम बनाना है जो N को C++ में एक भाजक द्वारा बार-बार विभाजित करने के बाद अधिकतम योग प्राप्त करेगा।

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

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

इनपुट -एन =12

आउटपुट - 22

स्पष्टीकरण - आइए संख्या को पुनरावर्ती रूप से विभाजित करें और योग ज्ञात करें।

Division 1: 12/2 = 6
Division 2: 6/2 = 3
Division 3: 3/3 = 1
Sum = 12+6+3+1 = 22

इस समस्या को हल करने के लिए, हम N के सबसे छोटे भाजक द्वारा N को विभाजित करके अधिकतम व्यक्तिगत मान बनाकर अधिकतम योग प्राप्त करेंगे।

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
int smallestDivisor(int n){
   int mx = sqrt(n);
   for (int i = 2; i <= mx; i++)
      if (n % i == 0)
         return i;
   return n;
}
int calculateMaxSum(int n) {
   long long maxSum = n;
   while (n > 1) {
      int divisor = smallestDivisor(n);
      n /= divisor;
      maxSum += n;
   }
   return maxSum;
}
int main(){
   int N = 12;
   cout<<"The maximum sum after repeatedly dividing "<<N<<" by divisor is "<<calculateMaxSum(N);
   return 0;
}

आउटपुट

The maximum sum after repeatedly dividing 12 by divisor is 22

  1. C++ में बाइनरी ट्री में अधिकतम सर्पिल योग

    इस समस्या में हमें एक बाइनरी ट्री दिया जाता है। हमारा काम एक प्रोग्राम बनाना है जो C++ में एक बाइनरी ट्री में अधिकतम सर्पिल योग प्राप्त करेगा। सर्पिल योग बाइनरी ट्री का, बाइनरी ट्री के स्पाइरल ट्रैवर्सल में पाए जाने वाले नोड्स का योग होता है। एक पेड़ के सर्पिल ट्रैवर्सल में, नोड्स को रूट से लीफ न

  1. सी++ में त्रिभुज में अधिकतम पथ योग

    इस समस्या में, हमें ऐसी संख्याएँ दी जाती हैं जो एक त्रिभुज के रूप में होती हैं। हमारा काम एक ऐसा प्रोग्राम बनाना है जो एक त्रिभुज में अधिकतम पथ योग प्राप्त करे। तत्वों को पहली पंक्ति से 1 एक तत्व के साथ व्यवस्थित किया जाता है और फिर अगली पंक्तियों में तत्वों की बढ़ती संख्या के साथ nth पंक्ति में तत

  1. सी ++ में एक सरणी में अधिकतम संतुलन योग

    समस्या कथन एक सरणी को देखते हुए []। उपसर्ग योग का अधिकतम मान ज्ञात करें जो कि गिरफ्तारी में अनुक्रमणिका i के लिए प्रत्यय योग भी है []। उदाहरण यदि इनपुट ऐरे है - Arr[] ={1, 2, 3, 5, 3, 2, 1} तो आउटपुट 11 है - उपसर्ग योग =गिरफ्तारी[0..3] =1 + 2 + 3 + 5 =11 और प्रत्यय योग =गिरफ्तारी[3..6] =5 + 3 +