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

সি++-এ m অঙ্কের n দ্বারা বিভাজ্য সংখ্যা গণনা

দুটি ইন্টিজার m এবং n দেওয়া আছে। লক্ষ্য হল m অঙ্কের সংখ্যা যারা n দ্বারা বিভাজ্য, তাদের গণনা করা।

যদি m=1 হয়, তবে সংখ্যাগুলো: 0,1,2,3,4,5,6,7,8,9 এবং n=3 হলে ৩ দ্বারা বিভাজ্য: 0,3,6,9 → count=4।

উদাহরণ

ইনপুট: m=2, n=9

আউটপুট: m অঙ্কের n দ্বারা বিভাজ্য সংখ্যার গণনা: ১০

ব্যাখ্যা: ১০ থেকে ৯৯ পর্যন্ত ৯ দ্বারা বিভাজ্য সংখ্যা: ১৮, ২৭, ৩৬, ৪৫, ৫৪, ৬৩, ৭২, ৮১, ৯০, ৯৯

ইনপুট: m=3, n=300

আউটপুট: m অঙ্কের n দ্বারা বিভাজ্য সংখ্যার গণনা: ৩

ব্যাখ্যা: ১০০ থেকে ৯৯৯ পর্যন্ত ৩০০ দ্বারা বিভাজ্য: ৩০০, ৬০০, ৯০০

অ্যাপ্রোচ

  • m এবং n ইন্টিজার নেওয়া হয়।
  • সর্বোচ্চ m-1 অঙ্কের সংখ্যা num1 হিসেবে হিসাব করা হয়।
  • সর্বোচ্চ m অঙ্কের সংখ্যা num2 হিসেবে হিসাব করা হয়।
  • findCount(int n, int L, int R) ফাংশন n এবং রেঞ্জ (num1 এবং num2-এর মধ্যবর্তী) গ্রহণ করে সেই রেঞ্জে n দ্বারা বিভাজ্য সব সংখ্যা রিটার্ন করে।
  • প্রাথমিক count ০।
  • for লুপে i=L থেকে i<=R পর্যন্ত: i%n==0 হলে count বাড়ানো হয়।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int findCount(int n, int L, int R) {
    int count = 0;
    for (int i = L; i <= R; i++) {
        if (i % n == 0) {
            count++;
        }
    }
    return count;
}

int main() {
    int M = 2, N = 9;
    int num1 = 0;
    for (int i = 0; i < (M - 1); i++)
        num1 = (num1 * 10) + 9;
    int num2 = 0;
    for (int i = 0; i < M; i++)
        num2 = (num2 * 10) + 9;
    cout << "Count of M digit no.s divisible by N:" << findCount(N, num1 + 1, num2);
    return 0;
}

আউটপুট

Count of M digit no.s divisible by N: 11
  1. C++-এ ১ থেকে n পর্যন্ত ৪ ডিজিট থাকা সংখ্যা গণনা (Count Numbers with Digit 4)

  2. C++-এ d-ডিজিটের ধনাত্মক পূর্ণসংখ্যা যেগুলোতে ০ ডিজিট থাকে (Count d-digit Numbers with Digit 0)

  3. C++-এ অ্যারেতে কমপক্ষে একটি অন্য উপাদান দিয়ে বিভাজ্য সংখ্যাগুলো প্রিন্ট করুন

  4. C++ ব্যবহার করে অ্যারেতে এমন এলিমেন্ট বের করা যেটি সব এলিমেন্টকে ভাগ করে দেয়