আমাদেরকে ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে এবং একটি পূর্ণসংখ্যা পরিবর্তনশীল 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