अद्वितीय अभाज्य गुणनखंड (unique prime factors) संख्या का एक गुणनखंड है जो स्वयं एक अभाज्य संख्या है। इस समस्या में, हमें एक संख्या के सभी अद्वितीय अभाज्य गुणनखंडों का गुणनफल ढूंढना है। एक अभाज्य संख्या (prime number) वह संख्या है जिसके केवल दो गुणनखंड होते हैं, संख्या और एक।
यहां हम एक संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल निकालने का सबसे अच्छा तरीका खोजने की कोशिश करेंगे। आइए एक उदाहरण लें ताकि समस्या अधिक स्पष्ट हो।
एक संख्या है मान लीजिए n = 1092, हमें इसके अद्वितीय अभाज्य गुणनखंडों का गुणनफल निकालना है। 1092 के अभाज्य गुणनखंड 2, 3, 7, 13 हैं जिनका गुणनफल 546 है।
इसे ढूंढने का एक आसान दृष्टिकोण संख्या के सभी गुणनखंड ढूंढना और जांचना होगा कि क्या गुणनखंड अभाज्य संख्या है। यदि हां तो इसे संख्या से गुणा करें और फिर गुणनफल वेरिएबल लौटाएं।
Input: n = 10 Output: 10
व्याख्या
यहां, इनपुट संख्या 10 है जिसके केवल 2 अभाज्य गुणनखंड हैं और वे 5 और 2 हैं।
और इसलिए उनका गुणनफल 10 है।
i = 2 से n तक लूप का उपयोग करके जांचें कि क्या i, n का गुणनखंड है फिर जांचें कि क्या i स्वयं अभाज्य संख्या है यदि हां तो गुणनफल को गुणनफल वेरिएबल में स्टोर करें और इस प्रक्रिया को i = n तक जारी रखें।
उदाहरण
#include <iostream>
using namespace std;
int main() {
int n = 10;
long long int product = 1;
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
int isPrime = 1;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
isPrime = 0;
break;
}
}
if (isPrime) {
product = product * i;
}
}
}
cout << product;
return 0;
}