কম্পিউটার

C++ এ প্রদত্ত পরিসরে ক্ষুদ্রতম উপাদানের সংখ্যা গণনা করুন


আমাদের N আকারের পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। ভেরিয়েবল L এবং R 1 এবং N-এর মধ্যে একটি পরিসীমা সংজ্ঞায়িত করে। লক্ষ্য হল ক্ষুদ্রতম উপাদানগুলির সংখ্যা খুঁজে বের করা যা L পরিসরে অবস্থিত এবং R যেমন L>=1 এবং R<=N.

  • আমরা L এবং R রেঞ্জে থাকা উপাদানগুলিকে অতিক্রম করে এবং সবচেয়ে ছোটটিকে খুঁজে বের করার মাধ্যমে এটি করব৷

  • আবার, L এবং R রেঞ্জের উপাদানগুলি অতিক্রম করুন এবং ধাপ 1-এ গণনা করা কোনো উপাদান ক্ষুদ্রতমের সমান হলে ইনক্রিমেন্ট গণনা করুন।

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট − arr[]={ 1,2,3,0,3,2,0,1 }, N=8, L=2, R=5

আউটপুট − 1

পরিসরে ক্ষুদ্রতমের গণনা

ব্যাখ্যা

L(1) থেকে R(5) রেঞ্জের উপাদানগুলি হল arr[1] থেকে arr[4]। {2,3,0,3}। ক্ষুদ্রতম মান হল 0৷ 0-এর গণনা হল 1৷

ইনপুট − arr[]={ 1,2,3,0,3,2,0,1 }, N=8, L=3, R=8

আউটপুট − 2

পরিসরে ক্ষুদ্রতমের সংখ্যা

ব্যাখ্যা

L(3) থেকে R(8) রেঞ্জের উপাদানগুলি হল arr[2] থেকে arr[7]। { 3,0,3,2,0,1}। ক্ষুদ্রতম মান হল 0৷ 0-এর গণনা হল 2৷

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

  • আমরা একটি পূর্ণসংখ্যা অ্যারে অ্যারে নিই [] এলোমেলো সংখ্যার সাথে শুরু।

  • পূর্ণসংখ্যা L এবং R arr[]-এর ভিতরের পরিসরকে উপস্থাপন করে। কাউন্ট L এবং R.

    পরিসরের ক্ষুদ্রতম গণনা সঞ্চয় করে
  • ফাংশন গণনা ক্ষুদ্রতম(int arr[],int n,int l, int r) একটি অ্যারে নেয়, এর দৈর্ঘ্য, L এবং R ইনপুট হিসাবে এবং পরিসরের মধ্যে ক্ষুদ্রতম গণনা প্রদান করে৷

  • ক্ষুদ্রতম=arr[l], বামদিকের উপাদান এবং ক্ষুদ্রতমের প্রাথমিক গণনা 0 হিসাবে শুরু করুন।

  • এখন যদি l<0 এবং r>=n হয় তাহলে 0 রিটার্ন করুন, অবৈধ রেঞ্জ দেওয়া আছে।

  • সূচী l-1 থেকে r-1 পর্যন্ত অ্যারেটি অতিক্রম করা শুরু করুন। সবচেয়ে ছোট আপডেট করুন যদি arr[i]

  • আবার, অ্যারেটি l-1 থেকে r-1 পর্যন্ত অতিক্রম করুন, যদি arr[i]==ক্ষুদ্রতম, বৃদ্ধির সংখ্যা।

  • পছন্দসই ফলাফল হিসাবে রিটার্ন গণনা।

  • প্রধান ভিতরে, গণনায় উপস্থিত ফলাফল প্রদর্শন করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
// Function to find if number is prime
int countSmallest(int arr[],int n,int l, int r){
   int smallest=arr[l];
   int count=0;
   if(l<0 && r>=n)
      return 0;
   for(int i=l-1;i<r;i++){
      if(arr[i]<=smallest){
         smallest=arr[i];
      }
   }
   for(int i=l-1;i<r;i++){
      if(arr[i]==smallest){
         ++count;
      }
   }
   return count;
}
int main(){
   int arr[] = { 3,2,1,1,2,3 };
   int n = 6;
   int L,R;
   int count=0;
   L=1,R=5;
   count=countSmallest(arr,n,L,R);
   cout<<endl<<"Count of number of smallest in given range:"<<count;
   L=3,R=4;
   count=countSmallest(arr,n,L,R);
   cout<<endl<<"Count of number of smallest in given range:"<<count;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of number of smallest in given range:2
Count of number of smallest in given range:2

  1. C++ অ্যারেতে দুটি প্রদত্ত উপাদানের মধ্যে উপাদানের সংখ্যা গণনা করুন

  2. C++ এ একটি প্রদত্ত পরিসরে ফ্যাক্টরিয়াল সংখ্যা গণনা করুন

  3. C++-এ চমৎকার সাবরে-এর সংখ্যা গণনা করুন

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