यहां हम देखेंगे कि कैसे हम एक सरणी के सभी अभाज्य संख्याओं के गुणनफल और सभी गैर-अभाज्य संख्याओं के गुणनफल के बीच निरपेक्ष अंतर ढूंढ सकते हैं। इस समस्या को हल करने के लिए, हमें जांचना होगा कि कोई संख्या अभाज्य है या नहीं। अभाज्यता परीक्षण के लिए एक संभावित तरीका यह जांचना है कि कोई संख्या 2 से उस संख्या के वर्गमूल तक किसी भी संख्या से विभाज्य नहीं है। तो यह प्रक्रिया O(√n) समय लेगी। फिर गुणनफल प्राप्त करें और निरपेक्ष अंतर ढूंढने का प्रयास करें।
एल्गोरिदम
diffPrimeNonPrimeProd(arr)
begin prod_p := product of all prime numbers in arr prod_np := product of all non-prime numbers in arr return |prod_p – prod_np| end
उदाहरण
#include#include using namespace std; bool isPrime(int n){ for(int i = 2; i<=sqrt(n); i++){ if(n % i == 0){ return false; //not prime } } return true; //prime } int diffPrimeNonPrimeProd(int arr[], int n) { int prod_p = 1, prod_np = 1; for(int i = 0; i आउटपुट
Difference: 125