इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में LCM के साथ N के रूप में अलग-अलग संख्याओं का अधिकतम योग ज्ञात करने के लिए एक प्रोग्राम बनाना है।
समस्या का विवरण
यहां, हमें उन अधिकतम संख्याओं का योग ज्ञात करना होगा जिनमें N सबसे कम सामान्य गुणक (LCM) है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
N = 10
आउटपुट
18
स्पष्टीकरण
Maximum sum with LCM 10 is 1 + 2 + 5 + 10 = 18
समाधान दृष्टिकोण
समस्या का एक सरल समाधान इस विचार का उपयोग करना होगा कि यदि हम संख्या N को LCM के रूप में चाहते हैं, तो हमें N के सभी अलग-अलग भाजक लेने होंगे और अधिकतम योग प्राप्त करने के लिए उन्हें जोड़ना होगा।
इसके लिए हम N के सभी गुणनखंड ज्ञात करेंगे और फिर उन्हें जोड़ देंगे, यह अधिकतम दिया जाएगा क्योंकि हमने उन सभी संख्याओं पर विचार किया है जो LCM के N होने में योगदान कर सकती हैं।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,
#include <iostream>
using namespace std;
int calcFactorSum(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 = 42;
cout<<"The sum of distinct numbers with LCM as "<<N<<" is "<<calcFactorSum(N);
return 0;
} आउटपुट
The sum of distinct numbers with LCM as 42 is 96