আমাদের দৈর্ঘ্য n এবং একটি সংখ্যা M সহ পূর্ণসংখ্যাগুলির একটি Arr[] দেওয়া হয়েছে। অ্যারেটিতে শুধুমাত্র ধনাত্মক পূর্ণসংখ্যা রয়েছে। লক্ষ্য হল Arr[] এর উপাদানগুলির তিনগুণ গণনা করা যার গুণফল M.
এর সমানআমরা তিনটি ফর লুপ ব্যবহার করে এটি করব। বৃদ্ধি গণনা যদি arr[x]*arr[y]*arr[z]=M এবং x!=y!=z. (0<=x,y,z
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট
arr[]= { 1,2,3,0,2,4 }, M=24
আউটপুট
Number of triplets with product M: 2
ব্যাখ্যা
Triplets with arr[x]*arr[y]*arr[z]==M. Arr{}=[ 1,2,3,0,2,4 ] =(2,3,4) → 2*3*4=24 Arr{}=[ 1,2,3,0,2,4 ] =(3,2,4) → 3*2*4=24 Total triplets: 2
ইনপুট
arr[]= {2,2,2,2,2}, M=6
আউটপুট
Number of triplets with product M: 0
ব্যাখ্যা
Every triplet has product equal to 8 Total triplets: 0
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা একটি পূর্ণসংখ্যার অ্যারে নিই Arr[] এলোমেলো সংখ্যার সাথে শুরু।
-
ভেরিয়েবল N Arr[] এর দৈর্ঘ্য সঞ্চয় করে।
-
ফাংশন productisM(int arr[],int n,int m) একটি অ্যারে নেয়, এর দৈর্ঘ্য ট্রিপলেটগুলি প্রদান করে যার মধ্যে গুণফল m-এর সমান৷
-
ট্রিপলেটের সংখ্যার জন্য প্রাথমিক পরিবর্তনশীল গণনাকে 0 হিসাবে নিন।
-
ট্রিপলেটের প্রতিটি উপাদানের জন্য তিনটি লুপ ব্যবহার করে ট্রাভার্স অ্যারে।
-
0<=i
-
arr[i]*arr[j]*arr[k]==m কিনা পরীক্ষা করুন। যদি সত্য হয় তাহলে সংখ্যা বৃদ্ধি করুন।
-
সমস্ত লুপ গণনার শেষে শর্ত পূরণকারী মোট ট্রিপলেট সংখ্যা থাকবে।
-
ফলাফল হিসাবে গণনা ফেরত দিন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int productisM(int arr[], int n, int m){ int count = 0; for (int i = 0; i < n-2; i++){ for (int j = i+1; j < n-1; j++){ for (int k = j+1; k < n; k++){ int prod=arr[i]*arr[j]*arr[k]; if(prod==m) { count++; } } } } return count; } int main(){ int Arr[]={ 1,2,3,0,2,4 }; int N=6; //length of array int M=24; cout <<endl<< "Number of triplets with product M : "<<productisM(Arr,N,M); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেNumber of triplets with product M: 4