আমাদের একটি বিরতি দেওয়া হয় [প্রথম, শেষ]। লক্ষ্য হল সংখ্যাগুলির গণনা খুঁজে বের করা যেগুলির একটি ইউনিট ডিজিট 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