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