আমাদেরকে একটি সংখ্যা দেওয়া হয়েছে ধরা যাক, সংখ্যা এবং একটি পূর্ণসংখ্যা টাইপ ভেরিয়েবলে সংরক্ষিত সংখ্যার মোট সংখ্যা ধরা যাক, ডিজি এবং কাজটি হল সেই n সংখ্যার সংখ্যাগুলির গণনা করা যা প্রদত্ত সংখ্যাটি যেখানে নেই সেখানে তৈরি করা যেতে পারে।
ইনপুট − n =2, অঙ্ক =2
আউটপুট − গণনা হল 153
ব্যাখ্যা − সংখ্যা 2 না থাকা সমস্ত দুটি সংখ্যার সংখ্যার সংখ্যা (n) 10, 11, 13, 14, 15, 16, 17, 18, 19, 30, 31, 33, 34, ...... হিসাবে 153। ,ইত্যাদি।
ইনপুট − n =3, অঙ্ক =3
আউটপুট − গণনা হল 2187
ব্যাখ্যা − তিনটি সংখ্যার সংখ্যা(n) সংখ্যা 3 না থাকলে 2187 হল 10, 11, 13, 14, 15, 16, 17, 18, 19, 30, 31, 33, 34, ...... ,ইত্যাদি।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
একটি পূর্ণসংখ্যা ভেরিয়েবল হিসাবে সংখ্যা 'n' এবং অঙ্কটি ইনপুট করুন
-
এই ভেরিয়েবলগুলিকে একটি ফাংশনে প্রেরণ করুন যা একটি গণনা অপারেশন সম্পাদন করবে
-
দুটি ভেরিয়েবল ন্যূনতম এবং সর্বোচ্চ মান সেট করুন যা 'n' পৌঁছাতে পারে। উদাহরণস্বরূপ, একটি 2-সংখ্যার সংখ্যা 10 এর সর্বনিম্ন মান দিয়ে শুরু হয় এবং 99 পর্যন্ত শেষ হয়, একইভাবে, 3-সংখ্যার সংখ্যা 999 পর্যন্ত সর্বনিম্ন 100 দিয়ে শুরু হয়।
-
সর্বনিম্ন থেকে সর্বোচ্চ পর্যন্ত লুপটি শুরু করুন
-
লুপের ভিতরে, 'n' 0
এর বেশি না হওয়া পর্যন্ত শুরু করুন -
নম্বর আছে কি না তা পরীক্ষা করুন। সংখ্যাটি থাকলে কোনো অপারেশন করবেন না এবং সংখ্যাটি না থাকলে গণনা 1 দ্বারা বৃদ্ধি করুন।
উদাহরণ
#include<bits/stdc++.h> using namespace std; int count(int n, int digit){ int r =0; int count = 0; //calculate the min and max of the given number int min = (int)(pow(10, n-1)); int max = (int)(pow(10, n)); //start the loop till max value start from min for(int i=min; i<max; i++){ int a=i; int f=0; //while a is greater than 0 while(a>0){ r=a%10; a=a/10; if(r==digit){ f++; } if(f==0){ count++; } } } return count; } int main(){ int n = 2, digit = 2; cout<<"Count of "<<n<< digit numbers not having a particular digit "<<digit<<" is :"<<count(n, digit); return 0; }
আউটপুট
আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −
Count of 2 digit numbers not having a particular digit 2 is :153