इस समस्या में, हमें एक संख्या 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