আপনাকে একটি সংখ্যা এবং নিম্ন ও উপরের আবদ্ধ সূচক দেওয়া হয়েছে। আপনাকে এমন কিছু উপাদান গণনা করতে হবে যা প্রদত্ত সংখ্যার চেয়ে কম বা সমান। আসুন একটি উদাহরণ দেখি।
ইনপুট
arr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5
আউটপুট
4
সূচক 0 এবং 5 এর মধ্যে 4টি উপাদান রয়েছে যা 4 এর থেকে কম বা সমান।
অ্যালগরিদম
-
অ্যারে, সংখ্যা এবং সাবয়ারের সূচীগুলি শুরু করুন৷
-
গণনা শুরু করুন 0।
-
একটি লুপ লিখুন যা সাবারের নীচের সূচক থেকে সাবয়েরের উপরের সূচকে পুনরাবৃত্তি করে৷
-
যদি বর্তমান উপাদান প্রদত্ত সংখ্যার চেয়ে কম বা সমান হয়, তাহলে গণনা বৃদ্ধি করুন।
-
-
গণনা ফেরত দিন।
বাস্তবায়ন
C++
-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল#include <bits/stdc++.h> using namespace std; int getElementsCount(int arr[], int n, int lower, int upper, int k) { if (lower < 0 || upper >= n || lower > upper) { return 0; } int count = 0; for (int i = lower; i <= upper; i++) { if (arr[i] <= k) { count += 1; } } return count; } int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; int n = 8, k = 4; cout << getElementsCount(arr, n, 0, 3, k) << endl; cout << getElementsCount(arr, n, 4, 7, k) << endl; return 0; }
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
4 0