এই সমস্যায়, আমাদের n উপাদানগুলির একটি অ্যারে দেওয়া হয়েছে। আমাদের কাজ হল অ্যারের সমস্ত মৌলিক সংখ্যার xor প্রিন্ট করা।
সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,
ইনপুট − {2, 6, 8, 9, 11}
আউটপুট −
এই সমস্যাটি সমাধান করার জন্য, আমরা ফলাফল বের করার জন্য অ্যারের সমস্ত মৌলিক সংখ্যা খুঁজে বের করব এবং তাদের xor করব। উপাদানটি প্রাইম কি না তা পরীক্ষা করার জন্য, আমরা চালুনির অ্যালগরিদম ব্যবহার করব এবং তারপরে প্রাইম সমস্ত উপাদানগুলিকে xor করব৷
উদাহরণ
আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম,
#include <bits/stdc++.h< using namespace std; bool prime[100005]; void SieveOfEratosthenes(int n) { memset(prime, true, sizeof(prime)); prime[1] = false; for (int p = 2; p * p <= n; p++) { if (prime[p]) { for (int i = p * 2; i <= n; i += p) prime[i] = false; } } } int findXorOfPrimes(int arr[], int n){ SieveOfEratosthenes(100005); int result = 0; for (int i = 0; i < n; i++) { if (prime[arr[i]]) result = result ^ arr[i]; } return result; } int main() { int arr[] = { 4, 3, 2, 6, 100, 17 }; int n = sizeof(arr) / sizeof(arr[0]); cout<<"The xor of all prime number of the array is : "<<findXorOfPrimes(arr, n); return 0; }
আউটপুট
The xor of all prime number of the array is : 16