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

C++-এ n-ডিজিট সংখ্যা যেগুলো দেওয়া সংখ্যা দিয়ে বিভাজ্য

আমাদের দুটি ইনপুট দেওয়া আছে: d (ডিজিট সংখ্যা) এবং num (ভাজক)। কাজ হল d-ডিজিট সংখ্যাগুলোর মধ্যে কতগুলো num দিয়ে বিভাজ্য তা বের করা।

উদাহরণ

ইনপুট: digit = 2, num = 12 → আউটপুট: 8

ব্যাখ্যা: ২-ডিজিট সংখ্যা যেগুলো ১২ দিয়ে বিভাজ্য: ১২, ২৪, ৩৬, ৪৮, ৬০, ৭২, ৮৪, ৯৬।

ইনপুট: digit = 2, num = 9 → আউটপুট: 10

ব্যাখ্যা: ১৮, ২৭, ৩৬, ৪৫, ৫৪, ৬৩, ৭২, ৮১, ৯০, ৯৯।

সমাধানের পদ্ধতি

  1. digit এবং num ইনপুট নিন।
  2. digi_first = 10^(digit-1) (সর্বনিম্ন d-ডিজিট সংখ্যা)।
  3. digi_last = 10^digit - 1 (সর্বোচ্চ d-ডিজিট সংখ্যা)।
  4. প্রথম বিভাজ্য সংখ্যা: digi_first + (num - digi_first % num) % num।
  5. শেষ বিভাজ্য সংখ্যা: digi_last - digi_last % num।
  6. গণনা: ((last - first) / num) + 1।

প্রোগ্রাম উদাহরণ

#include <cmath>
#include <iostream>
using namespace std;

int main() {
    int digit = 2, num = 9;
    int count = 0;
    int digi_first = pow(10, digit - 1);
    int digi_last = pow(10, digit);
    int d_first = digi_first % num;
    int d_last = digi_last % num;
    digi_first = (digi_first - d_first) + num;
    digi_last = digi_last - d_last;
    count = ((digi_last - digi_first) / num + 1);
    cout << "Count of n digit numbers divisible by given number: " << count << "\n";
    return 0;
}

আউটপুট

Count of n digit numbers divisible by given number: 10
  1. C++-এ সংখ্যা N-কে ভাগ করে দিতে পারা ডিজিট গণনা

  2. C++-এ n-ডিজিট সংখ্যা যেগুলো দেওয়া সংখ্যা দিয়ে বিভাজ্য

  3. C++-এ ডিজিট সেট দিয়ে N পর্যন্ত সংখ্যা গণনা

  4. C++-এ নির্দিষ্ট রেঞ্জে ফ্যাক্টোরিয়াল সংখ্যা গণনা