Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

दिए गए संख्या के बराबर गुणनफल वाले ट्रिपलेट की संख्या गिनें C++ में


हमें लंबाई n की पूर्णांकों की एक सरणी Arr[] और एक संख्या M दी गई है। सरणी में केवल धनात्मक पूर्णांक हैं। लक्ष्य 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

आउटपुट

गुणनफल M वाले ट्रिपलेट की संख्या: 2

व्याख्या

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 कुल ट्रिपलेट: 2

इनपुट

arr[]= {2,2,2,2,2}, M=6

आउटपुट

गुणनफल M वाले ट्रिपलेट की संख्या: 0

व्याख्या

प्रत्येक ट्रिपलेट का गुणनफल 8 के बराबर है। कुल ट्रिपलेट: 0

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम यादृच्छिक संख्याओं से आरंभ एक पूर्णांक सरणी Arr[] लेते हैं।

  • चर N Arr[] की लंबाई संग्रहीत करता है।

  • फ़ंक्शन productisM(int arr[],int n,int m) एक सरणी, उसकी लंबाई लेता है और उन ट्रिपलेट को लौटाता है जिनमें गुणनफल m के बराबर है।

  • प्रारंभिक चर count को 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; //सरणी की लंबाई    int M=24;    cout <<endl<< "गुणनफल M वाले ट्रिपलेट की संख्या: "<<productisM(Arr,N,M);    return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

गुणनफल M वाले ट्रिपलेट की संख्या: 4

  1. - C++ में दिए गए GCD के बराबर उपसमुच्चयों की संख्या गिनें

    समस्या विवरण एक सरणी arr दी गई है जिसमें धनात्मक संख्याएं हैं और एक सरणी GCD[] जिसमें GCD मान हैं। लक्ष्य arr[] के तत्वों के उन उपसमुच्चयों की संख्या ज्ञात करना है जिनके GCD मान GCD[] में दिए गए हैं। उदाहरण इनपुट arr[] = {10, 5, 6, 3}, GCD[] = {2, 3, 5} आउटपुट दिए गए GCD के बराबर उपसमुच्चयों की सं

  1. - C++ में सरणी तत्वों के औसत की दिए गए संख्या के साथ घटनाओं की गिनती

    समस्या विवरण एक सरणी arr[] दी गई है जिसमें पूर्णांक तत्व हैं और एक पूर्णांक num। लक्ष्य प्रत्येक तत्व arr[i] और num का औसत ज्ञात करना है और उस औसत की मूल सरणी में घटी घटनाओं की संख्या प्रिंट करना है। यदि सरणी arr[] है [5, 2, 3] और num 2 है। औसत होंगे [3, 2, 2] arr[] में घटनाएं [1,1,1] हैं। उदाहरण

  1. मैनहट्टन दूरी के बराबर दूरी वाले पथों की गणना - C++ मैनहट्टन दूरी के बराबर दूरी वाले पथों की गणना - C++

    समस्या विवरण हमें दो बिंदु (x1, y1) और (x2, y2) दिए गए हैं। लक्ष्य उन सभी पथों की गणना करना है जिनकी दूरी इन बिंदुओं के बीच मैनहट्टन दूरी के बराबर हो। मैनहट्टन दूरी MD = |x1 - x2| + |y1 - y2| मान लें A = |x1 - x2|, B = |y1 - y2|। मैनहट्टन दूरी वाले सभी पथों में A क्षैतिज और B लंबवत किनारे होंगे। सं