यहां हम देखेंगे कि कैसे हम एक सरणी के सभी अभाज्य संख्याओं के योग और सभी गैर-अभाज्य संख्याओं के योग के बीच निरपेक्ष अंतर ढूंढ सकते हैं। इस समस्या को हल करने के लिए, हमें जांचना होगा कि कोई संख्या अभाज्य है या नहीं। अभाज्यता परीक्षण के लिए एक संभावित तरीका यह जांचना है कि कोई संख्या 2 से उस संख्या के वर्गमूल तक किसी भी संख्या से विभाज्य नहीं है। तो यह प्रक्रिया O(√n) समय लेगी। फिर योग प्राप्त करें और निरपेक्ष अंतर ढूंढने का प्रयास करें।
एल्गोरिदम
diffPrimeNonPrimeSum(arr)
begin sum_p := sum of all prime numbers in arr sum_np := sum of all non-prime numbers in arr return |sum_p – sum_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 diffPrimeNonPrimeSum(int arr[], int n) { int sum_p = 0, sum_np = 0; for(int i = 0; i आउटपुट
Difference: 50