আমরা ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়. লক্ষ্য হল একটি অ্যারের উপাদানগুলির স্বতন্ত্র জোড়ার গণনা খুঁজে বের করা যাতে কমপক্ষে একটি প্রধান সদস্য রয়েছে। যদি অ্যারে হয় [1,2,3,4] তাহলে জোড়া হবে (1,2), (1,3), (2,3), (2,4) এবং (3,4)।
আসুন উদাহরণ দিয়ে বুঝতে পারি
ইনপুট − arr[] ={ 1,2,4,8,10 };
আউটপুট − একটি অ্যারেতে জোড়ার সংখ্যা যাতে অন্তত একটি উপাদান প্রাইম হয় −4
ব্যাখ্যা − একমাত্র মৌলিক উপাদান হল 2 এবং এটিকে অন্য সকলের সাথে জোড়া দিলে − (1,2), (2,4), (2,8), (2,10) পাওয়া যাবে।
ইনপুট − arr[] ={ 0,1,4,6,15 };
আউটপুট − একটি অ্যারেতে জোড়ার সংখ্যা যাতে অন্তত একটি উপাদান প্রাইম হয় − 0
ব্যাখ্যা − অ্যারের কোনো মৌলিক উপাদান নেই৷
৷নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
প্রাইম এবং নন-প্রাইম চিহ্নিত করার জন্য আমরা একটি অ্যারে arr_2[] তৈরি করব। যদি arr_2[i] 0 হয় তাহলে i মৌলিক অন্যথায় নন-প্রাইম। যদি কোনো জোড়ার জন্য কোনো মান arr_2[A], arr_2[B] 0 হয় তাহলে জোড়া (A,B) গণনা করা হবে।
-
ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে অ্যারে নিন।
-
ফাংশন check_prime(int temp, int arr_2[] একটি মান তাপমাত্রা সর্বোচ্চ হিসাবে নেয় এবং একটি অ্যারে arr_2[] এবং arr_2[] কে প্রাইম অন্য 1 হিসাবে সূচকের জন্য 0 দিয়ে পপুলেট করে।
-
arr_2[0]=arr_2[1]=0 সেট করুন কারণ 0 এবং 1 উভয়ই নন-প্রাইম।
-
এখন লুপ ব্যবহার করে, i=2 থেকে i*i
এ ট্রাভার্স করুন -
j=2*i থেকে j<=temp এবং j+=i তে যান। নন প্রাইমগুলির জন্য arr_2[j]=1 সেট করুন।
-
ফাংশন Prime_Pairs(int arr[], int size) একটি অ্যারে এবং এর আকার নেয় এবং এমন জোড়ার গণনা প্রদান করে যেখানে অন্তত একটি উপাদান প্রাইম।
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
অ্যারেগুলির মধ্যে সর্বাধিক মান হিসাবে temp=*max_element(arr, arr + size) শুরু করুন।
-
call check_prime(temp,arr_2)। যেখানে arr_2[] 0’s দিয়ে আরম্ভ করা হয় এবং দৈর্ঘ্যের তাপমাত্রা থাকে।
-
এখন আমাদের থাকবে arr_2[] যেখানে arr[i] প্রাইম হিসাবে i এর জন্য 0 এবং নন-প্রাইম হিসাবে i এর জন্য 1।
-
i=0 থেকে i
-
প্রতিটি জোড়ার জন্য arr[i], arr[j] পরীক্ষা করে দেখুন arr_2[ arr[i] ] ==0 বা arr_2[ arr[j] ] ==0। যদি হ্যাঁ হয় তাহলে সংখ্যা বৃদ্ধি করুন।
-
ফলাফল হিসাবে সমস্ত লুপের শেষে গণনা করুন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; void check_prime(int temp, int arr_2[]){ arr_2[0] = 1; arr_2[1] = 1; for(int i = 2; i * i <= temp; i++){ if (arr_2[i]==0){ for (int j = 2 * i; j <= temp; j += i){ arr_2[j] = 1; } } } } int Prime_Pairs(int arr[], int size){ int count = 0; int temp = *max_element(arr, arr + size); int arr_2[temp + 1]; memset(arr_2, 0, sizeof(arr_2)); check_prime(temp, arr_2); for (int i = 0; i < size; i++){ for (int j = i + 1; j < size; j++){ if (arr_2[arr[i]] == 0 || arr_2[arr[j]] == 0){ count++; } } } return count; } int main(){ int arr[] = { 3, 5, 2, 7, 11, 14 }; int size = sizeof(arr) / sizeof(arr[0]); cout<<"Count of pairs in an array such that at least one element is prime are: "<<Prime_Pairs(arr, size); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of pairs in an array such that at least one element is prime are: 15