কম্পিউটার টিউটোরিয়াল

C++-এ অদ্বিতীয় ডিজিটযুক্ত সংখ্যা গণনা



একটি ঋণাত্মক নয় পূর্ণসংখ্যা n দেওয়া আছে। ০ থেকে 10^n পরিসরে অদ্বিতীয় ডিজিটযুক্ত সব সংখ্যা x গণনা করতে হবে। উদাহরণ: n = 2 হলে ফলাফল ৯১, কারণ ০ থেকে ১০০ পর্যন্ত ১১, ২২, ৩৩, ৪৪, ৫৫, ৬৬, ৭৭, ৮৮, ৯৯ বাদ দিয়ে বাকিগুলো।

সমাধানের ধাপগুলো:

  • যদি n == 0, ১ ফেরত দিন।
  • n := min(10, n)
  • যদি n == 1, ১০ ফেরত দিন।
  • ans := 9, ret := 10
  • i = 2 থেকে n পর্যন্ত:
    • ans := ans * (9 - i + 2)
    • ret := ret + ans
  • ret ফেরত দিন।

উদাহরণ (C++)

#include <bits/stdc++.h> using namespace std; class Solution {    public:    int countNumbersWithUniqueDigits(int n) {       if(n == 0)return 1;       n = min(10, n);       if(n == 1)return 10;       int ans = 9;       int ret = 10;       for(int i = 2; i<= n; i++){          ans *= (9 - i + 2);          ret += ans;       }       return ret;    } }; main(){    Solution ob;    cout << (ob.countNumbersWithUniqueDigits(3)); }

ইনপুট

3

আউটপুট

739

  1. C++-এ পুনরাবৃত্ত ডিজিট বিশিষ্ট সংখ্যার গণনা

  2. C++-এ ফ্যাক্টোরিয়ালে অঙ্ক গণনা

  3. C++-এ N থেকে ছোট সব সংখ্যা প্রিন্ট করা যাতে শুধু ২টি স্বতন্ত্র অঙ্ক থাকে

  4. পাইথনে সম সংখ্যক ডিজিট বিশিষ্ট নম্বর খুঁজুন (Find Numbers with Even Number of Digits in Python)