এখানে আমরা দেখব কীভাবে একটি অ্যারেতে সব প্রাইম সংখ্যার গুণফল এবং সব নন-প্রাইম সংখ্যার গুণফলের এবসোলিউট পার্থক্য বের করা যায়। এই সমস্যাটি সমাধানের জন্য প্রথমে চেক করতে হবে কোনো সংখ্যা প্রাইম কিনা। প্রাইমালিটি টেস্টের একটি উপায় হলো চেক করা যে সংখ্যাটি ২ থেকে তার বর্গমূল পর্যন্ত যেকোনো সংখ্যা দ্বারা বিভাজ্য নয়। এই প্রসেস 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