কম্পিউটার

C++ এ k দ্বারা বিভাজ্য একটি অ্যারের উপাদানের সংখ্যা গণনা করুন


আমাদেরকে ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল k দেওয়া হয়েছে। কাজটি হল একটি অ্যারের উপাদানগুলির সংখ্যা গণনা করা যা প্রদত্ত মান k দ্বারা বিভাজ্য৷

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

আউটপুট − একটি অ্যারের উপাদানের সংখ্যা গণনা করুন যা 2 দ্বারা বিভাজ্য হল −5

ব্যাখ্যা − আমরা একটি অ্যারের উপাদানগুলিকে k মান দিয়ে ভাগ করব এবং অনুস্মারকটি 0 কিনা তা পরীক্ষা করব। সুতরাং, 4 2 দ্বারা বিভাজ্য, 2 2 দ্বারা বিভাজ্য, 6 2 দ্বারা বিভাজ্য, 1 2 দ্বারা বিভাজ্য নয়, 3 2 দ্বারা বিভাজ্য নয়, 8 2 দ্বারা বিভাজ্য, 10 2 দ্বারা বিভাজ্য, 9 isn 2 দ্বারা বিভাজ্য নয়। সুতরাং, একটি অ্যারেতে 5টি উপাদান রয়েছে যা k অর্থাৎ 2 দ্বারা সম্পূর্ণরূপে বিভাজ্য।

ইনপুট − int arr[] ={3, 2, 9, 15, 0, 8, 10}, k =3

আউটপুট − একটি অ্যারের উপাদানের সংখ্যা গণনা করুন যেগুলি 3 দ্বারা বিভাজ্য −3

ব্যাখ্যা − আমরা একটি অ্যারের উপাদানগুলিকে k মান দিয়ে ভাগ করব এবং অনুস্মারকটি 0 কিনা তা পরীক্ষা করব। সুতরাং, 3 3 দ্বারা বিভাজ্য, 2 3 দ্বারা বিভাজ্য নয়, 9 3 দ্বারা বিভাজ্য, 15 3 দ্বারা বিভাজ্য, 0 কোন সংখ্যা দ্বারা বিভাজ্য নয়, 8 3 দ্বারা বিভাজ্য নয়, 10 বিভাজ্য নয় 3 দ্বারা। সুতরাং, একটি অ্যারেতে 3টি উপাদান রয়েছে যা k দ্বারা সম্পূর্ণরূপে বিভাজ্য অর্থাৎ 23

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

একটি নির্দিষ্ট সমস্যা সমাধানের জন্য একাধিক পন্থা থাকতে পারে। তাই প্রথমত আমরা একটি নিষ্পাপ পন্থা নিয়ে যাব।

  • পূর্ণসংখ্যা উপাদানগুলির একটি অ্যারে এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল k

    ইনপুট করুন
  • একটি অ্যারের দৈর্ঘ্য গণনা করুন এবং আরও প্রক্রিয়াকরণের জন্য ফাংশনে ডেটা পাস করুন।

  • k

    দ্বারা বিভাজ্য উপাদানের গণনা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা নিন
  • স্টার্ট লুপ ফর 0 থেকে একটি অ্যারের দৈর্ঘ্য পর্যন্ত

  • লুপের ভিতরে, IF arr[i] % k =0 চেক করুন তারপর গণনা 1 দ্বারা বৃদ্ধি করুন

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

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

দক্ষ পদ্ধতি

  • পূর্ণসংখ্যার প্রকারের একটি ভেক্টরে উপাদানগুলি ইনপুট করুন এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল k নিন।

  • k

    দ্বারা বিভাজ্য উপাদানের গণনা সংরক্ষণ করতে একটি অস্থায়ী পরিবর্তনশীল গণনা নিন
  • একটি অন্তর্নির্মিত count_if() ফাংশনে কল হিসাবে গণনা সেট করুন যা vector.begin(), vector.end() একটি আর্গুমেন্ট হিসাবে গ্রহণ করবে এবং ট্রাভার্সাল শুরু করবে তারপর i%k যদি 0 হয়।

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

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

#include <bits/stdc++.h>
using namespace std;
int divisible_k(int arr[], int size, int k){
   int count = 0;
   for(int i = 0; i<size; i++){
      if(arr[i]%k==0){
         count++;
      }
   }
   return count;
}
int main(){
   int arr[] = {4, 2, 6, 1, 3, 8, 10, 9};
   int k = 2;
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count the number of elements in an array which are divisible by "<<k<<" are: "<<divisible_k(arr, size, k);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count the number of elements in an array which are divisible by 2 are: 5

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

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {4, 2, 6, 1, 3, 8, 10, 9};
   int count = count_if(vec.begin(), vec.end(), [](int i, int k = 2) { return i % k == 0; });
   cout<<"Count the number of elements in an array which are divisible by k are: "<<count;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count the number of elements in an array which are divisible by 2 are: 5

  1. C++ এ STL ব্যবহার করে N দ্বারা বিভাজ্য অ্যারের উপাদান খুঁজুন

  2. অ্যারের সমস্ত উপাদানকে C++ এ 4 দ্বারা বিভাজ্য করার ন্যূনতম পদক্ষেপ

  3. C++ এ D দ্বারা বিভাজ্য N সংখ্যার সংখ্যা খুঁজুন

  4. একটি অ্যারে উপাদান খুঁজুন যাতে সমস্ত উপাদান এটি দ্বারা c++ ব্যবহার করে বিভাজ্য হয়