কম্পিউটার

C++ এ প্রদত্ত পরিসরে একক অঙ্ক k সহ সংখ্যাগুলি গণনা করুন


আমাদের একটি বিরতি দেওয়া হয় [প্রথম, শেষ]। লক্ষ্য হল সংখ্যাগুলির গণনা খুঁজে বের করা যেগুলির একটি ইউনিট ডিজিট k এবং ব্যাপ্তির মধ্যে রয়েছে [প্রথম, শেষ]৷

আমরা এটি করব i=first থেকে i=st এর দিকে। প্রতিটি সংখ্যার জন্য আমি k এর সাথে এর একক সংখ্যা তুলনা করি, যদি তারা একই হয় তাহলে গণনা বৃদ্ধি পায়।

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

ইনপুট − প্রথম=8 শেষ=40 , k=8

আউটপুট − একক সংখ্যা k − 4

সহ সংখ্যার গণনা

ব্যাখ্যা

Numbers between 8 and 40 with unit digit = 8
8,18, 28, 38

ইনপুট − প্রথম=100 শেষ=200 , k=9

আউটপুট − ইউনিট সংখ্যা k − 10

সহ সংখ্যার গণনা

ব্যাখ্যা

Numbers between 100 and 200 with unit digit = 9
109, 119, 129, 139, 149, 159, 169, 179, 189, 199.
Total:10

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

  • পরিসীমা সংজ্ঞায়িত করতে আমরা প্রথম এবং শেষ দুটি পূর্ণসংখ্যা নিই [প্রথম, শেষ]।

  • ফাংশন getCount(int fst, int lst, int k) রেঞ্জ ভেরিয়েবল এবং k নেয় এবং fst এবং lst এর মধ্যে সংখ্যার গণনা ফেরত দেয় এবং k হিসাবে ইউনিট ডিজিট থাকে।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • লুপ ব্যবহার করে i=fst থেকে i=lst পর্যন্ত শুরু হয়, প্রতিটির জন্য আমি ldigit=i%10 হিসাবে ইউনিট সংখ্যা গণনা করি।

  • ldigit==k হলে, বৃদ্ধির সংখ্যা।

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

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int getCount(int fst,int lst,int k){
   int count=0;
   for(int i=fst;i<=lst;i++){
      int ldigit=i%10; //to get last digit
      if(ldigit==k) //if both are equal increment count
         { ++count; }
   }
   return count;
}
int main(){
   int first = 5, last = 30;
   int K=5;
   cout<<"Numbers with unit digit K in range:"<<getCount(first, last, K);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Numbers with unit digit K in range:3

  1. C++ এ K হিসাবে ক্ষুদ্রতম ফ্যাক্টর সহ একটি পরিসরে সমস্ত সংখ্যা গণনা করুন

  2. C++ এ প্রদত্ত XOR সহ সমস্ত জোড়া গণনা করুন

  3. 1 থেকে n পর্যন্ত সংখ্যাগুলি গণনা করুন যেগুলির সংখ্যা C++ এ 4 আছে

  4. C++ এ একটি সংখ্যা হিসাবে 0 সহ 'd' সংখ্যার ধনাত্মক পূর্ণসংখ্যা গণনা করুন