समस्या विवरण
किसी संख्या के गुणनखंडों का न्यूनतम योग खोजने का प्रोग्राम। इस समस्या को हल करने का तर्क है, सभी गुणनखंडों के सेट ढूंढें और उन्हें जोड़ें। प्रत्येक गुणनखंड सेट के लिए, हम वही करेंगे और फिर उन सभी की तुलना करेंगे। फिर इन योगों का न्यूनतम ढूंढें।
उदाहरण
इनपुट: n = 12 आउटपुट: 7
व्याख्या
सबसे पहले संख्या n के गुणनखंड ढूंढें फिर उन्हें जोड़ें और योग को न्यूनतम करने का प्रयास करें। 12 को गुणनखंड करने के विभिन्न तरीके और विभिन्न तरीकों से गुणनखंडों का योग निम्नलिखित हैं:
12 = 12 * 1 = 12 + 1 = 13 12 = 2 * 6 = 2 + 6 = 8 12 = 3 * 4 = 3 + 4 = 7 12 = 2 * 2 * 3 = 2 + 2 + 3 = 7 इसलिए न्यूनतम योग 7 है
C++ प्रोग्राम उदाहरण
#include <iostream>
using namespace std;
int main() {
int n = 12;
int sum = 0;
for (int i = 2; i * i <= n; i++) {
while (n % i == 0) {
sum += i;
n /= i;
}
}
sum += n;
cout << sum;
return 0;
}