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

किन्हीं दो तत्वों के अंतर वाले m-तत्वों का समुच्चय C++ में k से विभाज्य है

मान लीजिए कि हमारे पास एन सकारात्मक पूर्णांक के साथ एक सरणी है, और एक अन्य चर के है। हमें बिल्कुल एम-तत्वों को ढूंढना है, जैसे कि किन्हीं दो तत्वों के बीच का अंतर k के बराबर है। इसलिए यदि सरणी A =[4, 7, 10, 6, 9], और k =3 और m =3 है, तो आउटपुट "हाँ" होगा। जैसा कि हम 4, 7, 10 जैसे तीन तत्व पा सकते हैं।

इसे हल करने के लिए, हमें शेषफलों पर नज़र रखनी होगी, जब किसी तत्व को k से विभाजित किया जाता है। अब k आकार का एक बहु-आयामी सरणी रेम [] [] बनाएं, इसका सूचकांक शेष दिखा रहा है, और तत्व k से विभाजित होने पर उनके संबंधित शेष के अनुसार तत्व होंगे। अब शेष समुच्चय को पार करके, हम एक ऐसा समुच्चय प्राप्त कर सकते हैं जिसका आकार आवश्यक आकार m से बड़ा या उसके बराबर हो, यदि मौजूद हो। और उस समुच्चय के किसी भी अवयव का अंतर k से विभाज्य होगा।

उदाहरण

#include<iostream>
#include<vector>
using namespace std;
void searchElementsSet(int arr[], int n, int k, int m) {
   vector<int> rem_matrix[k];
   for (int i = 0; i < n; i++) {
      int rem = arr[i] % k;
      rem_matrix[rem].push_back(arr[i]);
   }
   for (int i = 0; i < k; i++) {
      if (rem_matrix[i].size() >= m) {
         cout << "Yes Possible"<<endl;
         for (int j = 0; j < m; j++)
            cout << rem_matrix[i][j] << " ";
         return;
      }
   }
   cout << "Impossible";
}
int main() {
   int arr[] = {4, 7, 10, 6, 9};
   int k = 3;
   int m = 3;
   int n = sizeof(arr) / sizeof(arr[0]);
   searchElementsSet(arr, n, k, m);
}

आउटपुट

Yes Possible
4 7 10

  1. सरणी में सभी तत्व खोजें जिनमें C++ में कम से कम दो बड़े तत्व हों

    मान लीजिए, हमारे पास n संख्याओं की एक सरणी है। हमें सरणी में सभी तत्वों को खोजना होगा, जिनमें कम से कम दो बड़े तत्व हों। यदि सरणी A =[2, 8, 7, 1, 5] की तरह है, तो परिणाम [2, 1, 5] होगा। इसे हल करने के लिए, हम दूसरा अधिकतम तत्व ढूंढेंगे, फिर उन सभी तत्वों को प्रिंट करें जो दूसरे अधिकतम मान से कम या

  1. C++ में दो विकर्णों के योग के बीच अंतर ज्ञात कीजिए।

    यहां हम देखेंगे कि किसी दिए गए मैट्रिक्स के दो विकर्णों के योग के बीच अंतर कैसे प्राप्त करें। मान लीजिए कि हमारे पास क्रम N x N का एक मैट्रिक्स है, हमें प्राथमिक और द्वितीयक विकर्णों का योग प्राप्त करना है, फिर उनका अंतर प्राप्त करना है। प्रमुख विकर्ण प्राप्त करने के लिए, हम जानते हैं कि पंक्ति सूचक

  1. C++ में दिए गए अंतर के साथ एक जोड़ी खोजें

    विचार करें कि हमारे पास एक सरणी A है, n विभिन्न तत्व हैं। हमें सरणी A से एक युग्म (x, y) ज्ञात करना है, ताकि x और y के बीच का अंतर दिए गए अंतर d के समान हो। मान लीजिए कि तत्वों की एक सूची A =[10, 15, 26, 30, 40, 70] की तरह है, और दिया गया अंतर 30 है, तो जोड़ी होगी (10, 40) और (30, 70) इस समस्या को