यहां हम देखेंगे कि किसी दी गई संख्या के कारकों का न्यूनतम योग कैसे प्राप्त करें। मान लीजिए एक संख्या 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 है। हम एक संख्या लेंगे और न्यूनतम गुणनखंड योग ज्ञात करने का प्रयास करेंगे। न्यूनतम गुणनखंड योग प्राप्त करने के लिए, हमें यथासंभव लंबे समय तक संख्या का गुणनखंड करना होगा। दूसरे शब्दों में, हम कह सकते हैं कि यदि हम अभाज्य गुणनखंडों को जोड़कर योग S का पता लगाने का प्रयास करते हैं, तो योग न्यूनतम हो जाएगा।
उदाहरण
#include<iostream> using namespace std; int primeFactorSum(int n) { int s = 0; for (int i = 2; i * i <= n; i++) { while (n % i == 0) { s += i; n /= i; } } s += n; return s; } int main() { int n = 12; cout << "Minimum sum of factors: " << primeFactorSum(n); }
आउटपुट
Minimum sum of factors: 7