কম্পিউটার

C++ এ একটি অ্যারেতে সমস্ত যৌগিক সংখ্যার গুণফল


n সংখ্যার পূর্ণসংখ্যার একটি অ্যারে অ্যারে [n] দেওয়া, কাজটি হল একটি অ্যারেতে সমস্ত যৌগিক সংখ্যার গুণফল খুঁজে বের করা।

যৌগিক সংখ্যা হল পূর্ণ সংখ্যা যা 2টি অন্যান্য পূর্ণ সংখ্যাকে গুণ করে তৈরি করা হয়। উদাহরণস্বরূপ 6 হল একটি যৌগিক সংখ্যা যা 2 এবং 3 কে গুণ করে তৈরি করা যেতে পারে যা পূর্ণ সংখ্যা। এছাড়াও আমরা বলতে পারি তারা প্রাইম নয়।

ইনপুট

arr[] = {1, 2, 4, 5, 6, 7}

আউটপুট

24

ব্যাখ্যা − অ্যারের যৌগিক সংখ্যা হল 4 এবং 6 এবং তাদের গুণফল হল 24৷

ইনপুট

arr[] = {10, 2, 4, 5, 6, 11}

আউটপুট

240

ব্যাখ্যা − অ্যারের যৌগিক সংখ্যা হল 10, 4, 6 এবং তাদের গুণফল হল 240৷

সমস্যা সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে

  • একটি অ্যারের প্রতিটি উপাদান পুনরাবৃত্তি করুন৷

  • নন-প্রাইম বা যৌগিক সংখ্যার জন্য খুঁজুন, যেমন 1 ছাড়া অন্য কোনো সংখ্যা দ্বারা বিভাজ্য।

  • সমস্ত যৌগিক সংখ্যাকে গুণ করুন।

  • ফলাফল ফেরত দিন।

অ্যালগরিদম

Start
Step 1→ Declare function to find the product of consecutive numbers in array
   int product_arr(int arr[], int size)
      declare int max = *max_element(arr, arr + size)
      set vector<bool> prime(max + 1, true)
      set prime[0] = true
      set prime[1] = true
      Loop For int i = 2 and i * i <= max and i++
         IF (prime[i] == true)
            Loop For int j = i * 2 and j <= max and j += i
               Set prime[j] = false
            End
         End
      End
      Set int product = 1
      Loop For int i = 0 and i < size and i++
         IF (!prime[arr[i]])
            Set product *= arr[i]
         End
      End
      return product
Stop

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//function to find product of consecutive numbers in an array
int product_arr(int arr[], int size){
   int max = *max_element(arr, arr + size);
   vector<bool> prime(max + 1, true);
   prime[0] = true;
   prime[1] = true;
   for (int i = 2; i * i <= max; i++){
      if (prime[i] == true){
         for (int j = i * 2; j <= max; j += i)
            prime[j] = false;
      }
   }
   int product = 1;
   for (int i = 0; i < size; i++)
      if (!prime[arr[i]]){
         product *= arr[i];
      }
      return product;
}
int main(){
   int arr[] = { 2, 4, 6, 8, 10};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"product of consecutive numbers in an array: "<<product_arr(arr, size);
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
product of consecutive numbers in an array: 1920

  1. C++ এ সংখ্যার বিন্যাসের গুণফলের প্রথম সংখ্যা

  2. C++-এ একটি অ্যারেতে k শক্তিশালী মান

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

  4. C++ এ একটি অ্যারেতে সমস্ত মৌলিক সংখ্যার গুণফল