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

C++ में निरपेक्ष अंतर जो k से बड़ा हो, वाले तत्वों की गिनती


हमें पूर्णांकों की एक सरणी दी गई है। लक्ष्य उन संख्याओं को गिनना है जिनके लिए सभी तत्वों के योग और उस तत्व के बीच का निरपेक्ष अंतर वेरिएबल k से बड़ा है।

हम इसे सरणी के तत्वों का योग प्राप्त करके करेंगे। अब प्रत्येक तत्व arr[i] के लिए, जांचते हैं कि -

sum - 2*arr[i] > k, क्योंकि sum में पहले से ही arr[i] शामिल है इसलिए इसे दो बार घटाते हैं। यदि सही है तो काउंट बढ़ाते हैं।

आइए उदाहरणों से समझते हैं।

इनपुट - arr[]= { 1,2,3,0,3,2,0,1 }, k=10

आउटपुट - तत्वों की संख्या: 2

व्याख्या - तत्वों का योग 12 है

12-1-1=10, 12-2-2=8, 12-3-3=6, 12-0-0=12।

केवल 12 > 10, इसलिए 2 तत्वों (0s) के लिए शर्त सही है।

इनपुट - arr[]= { 1,1,1,1,1 } k=10

आउटपुट - तत्वों की संख्या: 0

व्याख्या - तत्वों का योग 5 है

प्रत्येक 1 के लिए 5-1-1=3 < 10।

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

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

  • फंक्शन numberCount(int arr[], int n, int k) सरणी और उसकी लंबाई को इनपुट के रूप में लेता है और उन तत्वों की गिनती लौटाता है जिनका अन्य सभी तत्वों के योग के साथ निरपेक्ष अंतर k से बड़ा है।

  • प्रारंभिक काउंट को 0 के रूप में लेते हैं।

  • सरणी के सभी तत्वों के योग की गणना sum के रूप में करते हैं।

  • अब पूरी सरणी को i=0 से i

  • प्रत्येक तत्व arr[i] के लिए, यदि sum-arr[i]-arr[i] > k, तो काउंट बढ़ाते हैं।

  • लूप के अंत में काउंट को अंतिम परिणाम के रूप में लौटाते हैं।

उदाहरण

#include <bits/stdc++.h> #include <math.h> using namespace std; int numberCount(int arr[],int n, int k){ int count=0; int sum=0; int i; for(i=0;i k ){ count++; } } return count; } int main(){ int Arr[]={ 1,2,3,4 }; int len=sizeof(Arr)/sizeof(Arr[0]); int K=5; cout<<endl<<"तत्वों की संख्या: "<<numberCount(Arr,len,K); return 0; }

आउटपुट

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

तत्वों की संख्या: 2

  1. C++ में उन नोड्स को गिनना जिनका योग X के साथ फाइबोनैचि संख्या है C++ में उन नोड्स को गिनना जिनका योग X के साथ फाइबोनैचि संख्या है

    नोड्स के वजन वाली एक बाइनरी ट्री दी गई है। लक्ष्य उन नोड्स की संख्या ढूंढना है जिनके वजन ऐसे हैं कि संख्या एक फाइबोनैचि संख्या है। फाइबोनैचि श्रृंखला में संख्याएं हैं: 0, 1, 1, 2, 3, 5, 8, 13... nth संख्या (n-1)th और (n-2)th का योग है। यदि वजन 13 है तो यह एक फाइबोनैचि संख्या है इसलिए नोड गिना जाएगा।

  1. C++ में अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग C++ में अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग

    इस समस्या में, हमें N संख्याओं की एक सरणी arr दी गई है जहां arr[i] (i+1)वें नोड को दर्शाता है। साथ ही, M जोड़े किनारे हैं जहां u और v किनारे से जुड़े नोड्स को दर्शाते हैं। हमारा कार्य एक प्रोग्राम बनाना है जो अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग निकाले। यदि एक नोड की किसी अन

  1. C++ में उस नोड को ढूंढें जिसका X के साथ निरपेक्ष अंतर न्यूनतम मान देता है C++ में उस नोड को ढूंढें जिसका X के साथ निरपेक्ष अंतर न्यूनतम मान देता है

    मान लीजिए हमारे पास एक ट्री है, और सभी नोड्स के वजन और एक पूर्णांक x है। हमें नोड i ढूंढना है, जैसे कि |weight[i] - x| न्यूनतम हो। यदि ग्राफ नीचे की तरह है, और x = 15 आउटपुट 3 होगा। अब विभिन्न नोड्स के लिए, यह नीचे की तरह होगा: नोड 1, |5 – 15| = 10 नोड 2, |10 – 15| = 5 नोड 3, |11 – 15| = 4 नोड 4, |