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

রেঞ্জে অ্যারের সব উপাদান দ্বারা বিভাজ্য সংখ্যাগুলি গণনা C++-এ (LCM পদ্ধতি)


START, END রেঞ্জ এবং একটি ধনাত্মক অ্যারে Arr[] দেওয়া আছে। লক্ষ্য হল [START, END] রেঞ্জে Arr[]-এর সব উপাদান দ্বারা বিভাজ্য সংখ্যাগুলির সংখ্যা বের করা।

পদ্ধতি ১: সহজ পদ্ধতি

রেঞ্জের প্রতিটি সংখ্যায় অ্যারের সব উপাদান দ্বারা বিভাজ্য কিনা চেক করা হয়।

পদ্ধতি ২: LCM পদ্ধতি (দক্ষ)

অ্যারের সব উপাদানের LCM বের করে, রেঞ্জে LCM দ্বারা বিভাজ্য সংখ্যাগুলি গণনা করা হয়। এটি দ্রুত কাজ করে।

উদাহরণ

ইনপুট: START=1, END=20, Arr[]={2,4,8}

আউটপুট: সংখ্যা: ২ (৮, ১৬)

C++ কোড উদাহরণ (LCM পদ্ধতি)
#include 
using namespace std;

int getLCM(int a, int b){
    int m = max(a, b);
    while(true){
        if(m % a == 0 && m % b == 0) return m;
        m++;
    }
}

int getLCMArray(int arr[], int n){
    int lcm = getLCM(arr[0], arr[1]);
    for(int i = 2; i < n; i++){
        lcm = getLCM(lcm, arr[i]);
    }
    return lcm;
}

int divisiblebyArr(int start, int end, int arr[], int len){
    int count = 0;
    int lcm = getLCMArray(arr, len);
    for (int i = start; i <= end; i++){
        if(i % lcm == 0) count++;
    }
    return count;
}

int main(){
    int START = 5, END = 20;
    int Arr[] = {2,4,8};
    int len = sizeof(Arr)/sizeof(Arr[0]);
    cout << "অ্যারের সব উপাদান দ্বারা বিভাজ্য সংখ্যা: " << divisiblebyArr(START, END, Arr, len);
    return 0;
}
আউটপুট

উপরোক্ত কোড রান করলে আউটপুট:

অ্যারের সব উপাদান দ্বারা বিভাজ্য সংখ্যা: ২
  1. C++-তে অ্যারেতে থাকা সব প্রাইম নম্বরের গুণফল বের করা

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

  3. অ্যারের সব এলিমেন্ট ৪ দিয়ে বিভাজ্য করার ন্যূনতম ধাপ C++-তে

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