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

সি++-এ দিয়ে রেঞ্জে A বা B বা উভয়ের দ্বারা বিভাজ্য সংখ্যা গণনা

চারটি ইন্টিজার L, R, A, B দেওয়া আছে। লক্ষ্য হল [L,R] রেঞ্জে যেসব সংখ্যা A বা B বা উভয়ের দ্বারা পুরোপুরি বিভাজ্য, তাদের গণনা করা।

L থেকে R পর্যন্ত ট্রাভার্স করা হয়। প্রতিটি সংখ্যা যদি number%A==0 বা number%B==0 হয়, count বাড়ানো হয়।

উদাহরণ

ইনপুট: L=10, R=15, A=4, B=3

আউটপুট: A বা B-এর ভাজক সংখ্যা: ২

ব্যাখ্যা: ১২, ৩ এবং ৪ দুটির দ্বারা বিভাজ্য। ১৫ শুধু ৩ দ্বারা বিভাজ্য। মোট ভাজক=২।

ইনপুট: L=20, R=30, A=17, B=19

আউটপুট: A বা B-এর ভাজক সংখ্যা: ০

ব্যাখ্যা: ২০ থেকে ৩০ পর্যন্ত কোনো সংখ্যা A বা B বা উভয়ের দ্বারা বিভাজ্য নয়।

অ্যাপ্রোচ

  • A, B, L, R চারটি ভেরিয়েবল নেওয়া হয়।
  • countDivisors(int l, int r, int a, int b) ফাংশন সব গ্রহণ করে [L,R] রেঞ্জে A বা B বা উভয়ের ভাজক সংখ্যা রিটার্ন করে।
  • প্রাথমিক count ০।
  • for লুপে i=L থেকে i<=R পর্যন্ত: i%a==0 বা i%b==0 হলে count++।

উদাহরণ কোড

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

int countDivisors(int l, int r, int a, int b) {
    int count = 0;
    for (int i = l; i <= r; i++) {
        if (i % a == 0 || i % b == 0) {
            count++;
        }
    }
    return count;
}

int main() {
    int L = 5, R = 15, A = 2, B = 5;
    cout << endl << "Total divisors of A and B : " << countDivisors(L, R, A, B);
    return 0;
}

আউটপুট

Total divisors of A and B : 7
  1. C++-এ ক্লোসেস্ট ডিভাইজারস (Closest Divisors) সমস্যা সমাধান

  2. C++-এ একটি সংখ্যার সব পারফেক্ট ডিভাইজার গণনা

  3. C++-এ দিয়ে স্ট্রিংয়ে সব প্যালিনড্রোমিক সাবসিকোয়েন্স গণনা

  4. C++-এ দেওয়া XOR সমান হয় এমন জোড়া (Pair) গণনা