কম্পিউটার

অ্যারেতে জোড়া গণনা করুন যার যোগফল C++ এ 4 দ্বারা বিভাজ্য


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

ইনপুট − int arr[] ={4, 1, 2, 0, 2}

আউটপুট − অ্যারেতে জোড়া গণনা করুন যার যোগফল 4 দ্বারা বিভাজ্য হল − 2

ব্যাখ্যা − প্রদত্ত অ্যারে থেকে যে জোড়াগুলি তৈরি করা যেতে পারে তা হল:(4, 1) =5 (4 দ্বারা বিভাজ্য নয়), (4, 2) =6 (4 দ্বারা বিভাজ্য নয়), (4, 0) =4 (বিভাজ্য) 4 দ্বারা), (1, 2) =3 (4 দ্বারা বিভাজ্য নয়), (1, 0) =1 (4 দ্বারা বিভাজ্য নয়), (2, 0) =2 (4 দ্বারা বিভাজ্য নয়), (2, 2) ) =4 (4 দ্বারা বিভাজ্য), (0, 2) =2 (4 দ্বারা বিভাজ্য নয়)। সুতরাং 4 দ্বারা বিভাজ্য যোগফলের যোগফল হল (4, 0) এবং (2, 2)।

ইনপুট − int arr[] ={2, 4, 8, 6, 10}

আউটপুট − অ্যারেতে জোড়া গণনা করুন যার যোগফল 4 দ্বারা বিভাজ্য হল − 4

ব্যাখ্যা − প্রদত্ত অ্যারে থেকে যে জোড়াগুলি তৈরি করা যেতে পারে তা হল:(2, 4) =6 (4 দ্বারা বিভাজ্য নয়), (2, 8) =10 (4 দ্বারা বিভাজ্য নয়), (2, 6) =8 (বিভাজ্য) 4 দ্বারা), (2, 10) =12 (4 দ্বারা বিভাজ্য), (4, 8) =12 (4 দ্বারা বিভাজ্য), (4, 6) =10 (4 দ্বারা বিভাজ্য নয়), (4, 10) =14 (4 দ্বারা বিভাজ্য নয়), (8, 6) =14 (4 দ্বারা বিভাজ্য নয়), (8, 10) =18 (4 দ্বারা বিভাজ্য নয়), (6, 10) =16 (4 দ্বারা বিভাজ্য)। সুতরাং 4 দ্বারা বিভাজ্য যোগফলের যোগফল হল (2, 10), (2, 6), (4, 8) এবং (6, 10)।

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

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

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

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

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

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

  • লুপের ভিতরে arr[i] + arr[j] হিসাবে যোগফল গণনা করুন এবং IF যোগফল % 4 ==0 চেক করুন তারপর গণনাটি 1 দ্বারা বৃদ্ধি করুন।

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

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

দক্ষ পদ্ধতি

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

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

  • আকার 4 এর একটি অ্যারে তৈরি করুন কারণ আমাদের 4 দ্বারা বিভাজ্যতা পরীক্ষা করতে হবে।

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

  • লুপের ভিতরে, arr[i] % 4 হিসাবে temp সেট করুন এবং অ্যারেটিকে ++check[temp] হিসাবে প্রি-ইনক্রিমেন্ট করুন

  • new_arr[0] * (new_arr[0] - 1)/2

    হিসাবে গণনা সেট করুন
  • গণনা হিসাবে গণনা সেট করুন + new_arr[2] * (new_arr[2] - 1)/2

  • গণনা হিসাবে গণনা সেট করুন + new_arr[1] * new_arr[3]

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

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

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

#include <iostream>
using namespace std;
int pair_4(int arr[], int size){
   int count = 0;
   for(int i = 0 ;i <size ; i++){
      for(int j = i+1; j<size; j++){
         int sum = arr[i] + arr[j];
         if(sum % 4 == 0){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = {4, 1, 2, 0, 2};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count pairs in array whose sum is divisible by 4 are: "<<pair_4(arr, size);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count pairs in array whose sum is divisible by 4 are: 2

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

#include <iostream>
using namespace std;
int pair_4(int arr[], int size){
   int temp = 0;
   int count = 0;
   int check[] = {0, 0, 0, 0};
   for (int i = 0; i < size; i++){
      temp = arr[i] % 4;
      ++check[temp];
   }
   count = check[0] * (check[0] - 1) / 2;
   count = count + check[2] * (check[2] - 1) / 2;
   count = count + check[1] * check[3];
   return count;
}
int main(){
   int arr[] = {4, 1, 2, 0, 2};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count pairs in array whose sum is divisible by 4 are: "<<pair_4(arr, size);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count pairs in array whose sum is divisible by 4 are: 2

  1. C++ এ একটি অ্যারেতে সমস্ত জোড়ার XOR-এর যোগফল

  2. C++ এ প্রদত্ত অ্যারেতে থাকা স্বতন্ত্র জোড়ার সংখ্যা গণনা করুন

  3. C++ এ একটি অ্যারেতে বিভাজ্য জোড়া গণনা করুন

  4. C++ এ একটি অ্যারেতে যৌগিক উপাদানের গণনা এবং যোগফল