কম্পিউটার

একটি অ্যারেতে জোড়া গণনা করুন যাতে অন্তত একটি উপাদান C++ এ প্রাইম হয়


আমরা ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়. লক্ষ্য হল একটি অ্যারের উপাদানগুলির স্বতন্ত্র জোড়ার গণনা খুঁজে বের করা যাতে কমপক্ষে একটি প্রধান সদস্য রয়েছে। যদি অ্যারে হয় [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

  1. C++ ব্যবহার করে একটি অ্যারেতে জোড়ার সংখ্যা খুঁজুন যাতে তাদের XOR 0 হয়।

  2. অ্যারেতে এমন একটি উপাদান খুঁজুন যাতে বাম অ্যারের যোগফল c++ ব্যবহার করে ডান অ্যারের যোগফলের সমান হয়

  3. একটি অ্যারেতে সমস্ত জোড়া (a, b) খুঁজুন যেমন একটি % b =k C++ এ

  4. C++-এ অ্যারের প্রতিটি উপাদানের সারপাসার কাউন্ট খুঁজুন