কম্পিউটার

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


আমাদের একটি সংখ্যা d দেওয়া হয়েছে যা সংখ্যার সংখ্যাকে প্রতিনিধিত্ব করে। লক্ষ্য হল একটি সংখ্যা হিসাবে 0 সহ ধনাত্মক পূর্ণসংখ্যার গণনা খুঁজে বের করা এবং সর্বাধিক d সংখ্যা রয়েছে। 1 ডিজিট, 2 ডিজিট, 3 ডিজিট ....d ডিজিট ইতিবাচক সংখ্যা যেখানে অন্তত একটি 0 আছে সবগুলি গণনা করুন।

আমরা প্রথমে সংখ্যার সংখ্যা খুঁজে পাব যে সংখ্যার সংখ্যা কমপক্ষে একটি 0 সহ d সংখ্যা রয়েছে। ধরা যাক d=3। কমপক্ষে একটি 0 সহ একটি 3-সংখ্যার সংখ্যা তৈরি করতে, সম্ভাব্য উপায়গুলি হল −

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

Here d1 can have 1 to 9 : 9 ways
d2 can have 0-9 : 10 ways
d3 can have 0-9 : 10 ways
Total numbers possible: 9 x 10 x 10 = 9 x 102
For d digits, count of numbers: 9 x 10d-1
For d digits, numbers without any 0 are : 9d
Total numbers having d digits with at least one 0 = 9 x 10d-1 - 9d = 9 x ( 10d-1 - 9d-1 )

আসুন উদাহরণ দিয়ে বুঝতে পারি

ইনপুট − d=4

আউটপুট − একটি সংখ্যা হিসাবে 0 সহ ধনাত্মক পূর্ণসংখ্যার গণনা এবং সর্বাধিক 'd' সংখ্যা হল − 2619

ব্যাখ্যা − x সংখ্যার সংখ্যা কমপক্ষে একটি 0 −

সহ
1 digit numbers : 0
2 digit numbers : 9
3 digit numbers : 171
4 digit numbers: 2439
Total= 9+171+2439 = 2619

ইনপুট − d=1

আউটপুট − একটি সংখ্যা হিসাবে 0 সহ ধনাত্মক পূর্ণসংখ্যার গণনা এবং সর্বাধিক 'd' সংখ্যা হল − 0

ব্যাখ্যা − 1 থেকে 9 কোন সংখ্যার একটি সংখ্যা হিসাবে 0 নেই৷

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

আমরা দুটি পন্থা ব্যবহার করব। একটি লুপের জন্য একটি ব্যবহার করে একটি প্রথম নিরীহ পদ্ধতি। 1 ডিজিট থেকে ডি ডিজিট পর্যন্ত যাত্রা শুরু করুন এবং উপরে উল্লিখিত সূত্রটি ব্যবহার করে সংখ্যা গণনা করুন। গণনার জন্য ফেরত মান যোগ করুন।

  • ডিজিটের জন্য পূর্ণসংখ্যা d নিন।

  • ফাংশন total_count(int d)) d সংখ্যার সংখ্যা নেয় এবং d সংখ্যার অন্তত একটি 0 সহ সংখ্যার গণনা প্রদান করে।

  • temp=9*(pow(10,d-1) - pow(9,d-1));

  • রিটার্ন টেম্প।

  • ফাংশন Max_d(int d) সর্বাধিক সংখ্যা d নেয় এবং কমপক্ষে একটি 0 বিশিষ্ট d সংখ্যা পর্যন্ত সংখ্যার গণনা প্রদান করে।

  • 1 সংখ্যার সংখ্যা থেকে শুরু করে তারপর 2 এবং d পর্যন্ত একটি লুপ ব্যবহার করে অতিক্রম করুন৷

  • প্রতিটি d-এর জন্য মোট_গণনা (i) হিসাবে সংখ্যা গণনা করুন। গণনা করতে এটি যোগ করুন।

  • শেষ পর্যন্ত আমরা মোট গণনা পাব।

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

দক্ষ পদ্ধতি

এই পদ্ধতিতে, আমরা উপরের গণনার জন্য গঠিত G.P পর্যবেক্ষণ করে গণনা গণনা করব।

Solution is 9 x (10d-1 - 9d-1)
= 9 x (10d - 1)- 9 x (9d-1)
= 9 x (10i - 1) - 9 x (9i - 1) ( 1<=i<=d )
= g.p 1 - g.p 2
= 9x(10d-1)/(10-1) - 9x(9d-1)/(9-1)
= (10d-1)- (9/8)*(9d-1)
  • সর্বাধিক সংখ্যা হিসাবে d নিন।

  • ফাংশন Max_d(int d) সর্বাধিক সংখ্যা d নেয় এবং কমপক্ষে একটি 0 বিশিষ্ট d সংখ্যা পর্যন্ত সংখ্যার গণনা প্রদান করে।

  • উপরের সূত্র ব্যবহার করে temp_1 কে 9*((pow(10,d)-1)/9 হিসাবে গণনা করুন।

  • temp_2 কে 9*((pow(9,d)-1)/8 হিসাবে গণনা করুন।

  • সেট গণনা =temp_1 - temp_2।

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

উদাহরণ (নিষ্পাপ পদ্ধতি)

#include<bits/stdc++.h>
using namespace std;
int total_count(int d){
   int temp = 9*(pow(10,d-1) - pow(9,d-1));
   return temp;
}
int maximum_d(int d){
   int count = 0;
   for (int i=1; i<=d; i++){
      count = count + total_count(i);
   }
   return count;
}
int main(){
   int d = 5;
   cout<<"Count of positive integers with 0 as a digit and maximum 'd' digits are: "<<maximum_d(d) << endl;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of positive integers with 0 as a digit and maximum 'd' digits are: 33570

উদাহরণ (দক্ষ পদ্ধতি)

#include<bits/stdc++.h>
using namespace std;
int maximum_d(int d){
   int temp_1 = 9*((pow(10,d)-1)/9);
   int temp_2 = 9*((pow(9,d)-1)/8);
   int count = temp_1 - temp_2;
   return count;
}
int main(){
   int d = 4;
   cout<<"Count of positive integers with 0 as a digit and maximum 'd' digits are: "<<maximum_d(d) << endl;
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of positive integers with 0 as a digit and maximum 'd' digits are: 2619

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

  2. বিটওয়াইজ এবং C++-এ 0 থেকে X রূপান্তরিত করার সর্বোচ্চ ধাপ

  3. সর্বাধিক ধনাত্মক পূর্ণসংখ্যা C দ্বারা বিভাজ্য এবং C++ এ [A, B] পরিসরে রয়েছে

  4. C++ এ প্রদত্ত পণ্যের সাথে N পূর্ণসংখ্যার সর্বাধিক GCD