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

নির্দিষ্ট পরিসীমায় K সংখ্যক বিভাজক থাকা সংখ্যা খুঁজে বের করা C++-এ

এই সমস্যায়, আমাদের তিনটি পূর্ণসংখ্যা মান L, R, এবং k দেওয়া আছে। আমাদের কাজ হল নির্দিষ্ট পরিসীমায় K সংখ্যক বিভাজক থাকা সংখ্যা খুঁজে বের করা। আমরা পরিসীমা [L, R] এ সংখ্যাগুলোর মধ্যে কতগুলো কে ভাগ করা যায় তা গণনা করব। ১ এবং সংখ্যাটি নিজেরও ভাগসঙ্খ্যা হিসেবে গণনা করব।

উদাহরণ

ইনপুট

a = 3, b = 10, k = 4

আউটপুট

2

ব্যাখ্যা

৩ থেকে ১০ এর মধ্যে যেসব সংখ্যার ঠিক ৪টি বিভাজক আছে:
৬: বিভাজক = ১, ২, ৩, ৬
৮: বিভাজক = ১, ২, ৪, ৮

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

এই সমস্যার সহজ সমাধান হল K সংখ্যক বিভাজক গণনা করা। সুতরাং, আমরা পরিসীমার সব সংখ্যার জন্য বিভাজক সংখ্যা গণনা করব। এবং যদি বিভাজক সংখ্যা K-এর সমান হয়, তবে সংখ্যা কাউন্টে ১ যোগ করব।

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

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

int countDivisors(int n) {
    int divisors = 0;
    for (int i = 1; i <= sqrt(n) + 1; i++) {
        if (n % i == 0) {
            divisors++;
            if (n / i != i)
                divisors++;
        }
    }
    return divisors;
}

int countNumberKDivisors(int a, int b, int k) {
    int numberCount = 0;
    for (int i = a; i <= b; i++) {
        if (countDivisors(i) == k)
            numberCount++;
    }
    return numberCount;
}

int main() {
    int a = 3, b = 10, k = 4;
    cout << "The count of numbers with " << k << " divisors is " << countNumberKDivisors(a, b, k);
    return 0;
}

আউটপুট

The count of numbers with 4 divisors is 2
  1. দেওয়া পার্থক্যের সাথে একটি জোড়া খুঁজে বের করা C++-এ

  2. C++-এ দেওয়া ইন্ডেক্সের Nটি ফিবোনাচ্চি সংখ্যার GCD বের করা

  3. C++ প্রোগ্রাম: সেগমেন্টেড ছাঁনি বাস্তবায়ন করে নির্দিষ্ট পরিসরের মৌলিক সংখ্যা তৈরি

  4. C++ প্রোগ্রাম: এরাটোস্থেনিসের ছাঁনি বাস্তবায়ন করে নির্দিষ্ট পরিসরের মৌলিক সংখ্যা তৈরি