কম্পিউটার

একটি সাজানো অ্যারেতে জোড়া গণনা করুন যার গুণফল C++-এ k-এর থেকে কম


আমাদেরকে পূর্ণসংখ্যার ধরণের উপাদানগুলির একটি সাজানো অ্যারে দেওয়া হয়েছে এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল x দেওয়া হয়েছে এবং কাজটি হল প্রদত্ত অ্যারে থেকে জোড়া তৈরি করা এবং জোড়ার উপাদানগুলির গুণফল গণনা করা এবং গণনাকৃত পণ্যটি k এর চেয়ে কম কি না তা পরীক্ষা করা৷

ইনপুট

int arr[] = {2, 7, 1, 0, 8}, int k = 10

আউটপুট

Count of pairs in a sorted array whose product is less than k are: 7

ব্যাখ্যা

The pairs that can be formed from the given array are: (2, 7) = 14(greater than k), (2, 1) = 2(less than k), (2, 0) = 0(less than k), (2, 8) = 16(greater than k), (7, 1) = 7(less than k), (7, 0) = 0(less than k), (7, 8) = 56(greater than k), (1, 0) = 0(less than k), (1, 8) = 8(less than k), (0, 8) = 0(less than k). So, the count of pairs with sum less than k are 7.

ইনপুট

int arr[] = {2, 4, 6, 8}, int k = 10

আউটপুট

Count of pairs in a sorted array whose product is less than k are: 1

ব্যাখ্যা

The pairs that can be formed from the given array are: (2, 4) = 8(less than k), (2, 6) = 12(greater than k), (2, 8) = 16(greater than k), (4, 6) = 24(greater than x), (4, 8) = 32(greater than k), (6, 8) = 48(greater than k). So, the count of pairs with products less than k is 1.

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

প্রদত্ত সমস্যা সমাধানের জন্য একাধিক পন্থা হতে পারে যেমন নিষ্পাপ দৃষ্টিভঙ্গি এবং দক্ষ পদ্ধতি। তাই আসুন প্রথমে নিষ্পাপ পদ্ধতির দিকে তাকাই .

  • পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে ইনপুট করুন এবং একটি অ্যারের আকার গণনা করুন এবং ফাংশনে ডেটা পাস করুন

  • k এর চেয়ে কম পণ্যের সাথে জোড়ার সংখ্যা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা ঘোষণা করুন।

  • একটি অ্যারের আকার পর্যন্ত i থেকে 0 পর্যন্ত লুপ শুরু করুন

  • লুপের ভিতরে, একটি অ্যারের আকার পর্যন্ত j থেকে i + 1 পর্যন্ত আরেকটি লুপ FOR শুরু করুন

  • লুপের ভিতরে পণ্যটিকে arr[i] * arr[j] হিসাবে গণনা করুন এবং IF পণ্য চেক করুন

  • গণনা ফেরত দিন

  • প্রিন্ট ফলাফল।

দক্ষ পদ্ধতি

  • পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে ইনপুট করুন এবং একটি অ্যারের আকার গণনা করুন এবং ফাংশনে ডেটা পাস করুন

  • x এর চেয়ে কম যোগফল সহ জোড়ার গণনা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা ঘোষণা করুন।

  • arr_0 কে 0 এবং arr_1 কে সাইজ-1 হিসাবে সেট করুন

  • স্টার্ট লুপ FOR arr_0 থেকে arr_1

    পর্যন্ত
  • লুপের ভিতরে, IF arr[arr_0] * arr[arr_1]

  • গণনা ফেরত দিন

  • ফলাফল প্রিন্ট করুন।

উদাহরণ (নিষ্পাপ পদ্ধতি)

#include <iostream>
using namespace std;
int pair_product(int arr[], int size, int k){
   int count = 0;
   int product = 1;
   for(int i = 0 ; i<size ; i++){
      for(int j = i+1; j<size; j++){
         product = arr[i] * arr[j];
         if(product < k){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {5, 8, 2, 1, 3};
   int size = sizeof(arr) / sizeof(arr[0]);
   int k = 10;
   cout<<"Count of pairs in a sorted array whose product is less than k are: "<<pair_product(arr, size, k);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of pairs in a sorted array whose product is less than k are: 5

উদাহরণ (দক্ষ পদ্ধতি)

#include <iostream>
using namespace std;
int pair_product(int arr[], int size, int k){
   int arr_0 = 0;
   int arr_1 = size-1;
   int count = 0;
   int product = 1;
   while(arr_0 < arr_1){
      product = arr[arr_0] * arr[arr_1];
      if (product < k){
         count = count + (arr_1 - arr_0);
         arr_0++;
      }
      else{
         arr_1--;
      }
   }
   return count;
}
int main(){
   int arr[] = {1, 3, 4, 2, 1};
   int size = sizeof(arr) / sizeof(arr[0]);
   int k = 5;
   cout<<"Count of pairs in a sorted array whose product is less than k are: "<<pair_product(arr, size, k);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of pairs in a sorted array whose product is less than k are: 10

  1. C++-এ K-এর থেকে কম পণ্য থাকা সমস্ত অনুবর্তন গণনা করুন

  2. C++ এ সাজানো বাইনারি অ্যারেতে 1 এর সংখ্যা গণনা করুন

  3. একটি সাজানো অ্যারেতে উপাদান খুঁজুন যার ফ্রিকোয়েন্সি C++ এ n/2 এর থেকে বেশি বা সমান।

  4. C++ এ একটি সাজানো অ্যারেতে পরম স্বতন্ত্র গণনা?