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

अधिकतम अंतर तत्व जो C++ में एक सेट में जोड़े जा सकते हैं


समस्या के अनुसार हमें एक सेट arr[n] दिया जाता है जहां n सेट में पूर्णांक तत्वों की संख्या है, कार्य अधिकतम अंतर तत्वों को खोजना है जिन्हें जोड़ा जाना है सेट में तत्वों को प्राप्त करने के लिए। दूसरे शब्दों में, अंतर के रूप में होना चाहिए |a-b| जहां 'ए' और 'बी' दोनों सेट में हों और उनका अंतर कम से कम न हो। इसलिए, हम उन अंतरों की अधिकतम संख्या की गणना करेंगे जो एक समुच्चय से भिन्न और सबसे बड़े हैं। आइए एक उदाहरण की मदद से समस्या और उसके समाधान को समझते हैं।

इनपुट - सेट ={1, 5}

आउटपुट - अधिकतम अंतर तत्व जो एक सेट में जोड़े जा सकते हैं:1

स्पष्टीकरण − सेट में केवल 1 अंतर है यानी |1-5| =4

इनपुट - सेट ={2, 7, 1, 9}

आउटपुट -अधिकतम अंतर

एक सेट में जोड़े जा सकने वाले तत्व हैं:5

स्पष्टीकरण - सेट में अंतर इस प्रकार हैं -

|2-7| = 5
|7-1| = 6
|1-9| = 8
|2-9| = 7
|7-9| = 2

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • सेट के मानों को संग्रहीत करने के लिए एक पूर्णांक सरणी arr[n] लें।

  • फ़ंक्शन में अधिकतम () चरण 3 से 6 का पालन करें।

  • एक तत्व ele, temp, val घोषित करें और उनके मानों को arr[0]

    . के बराबर सेट करें
  • 1 से सरणी के आकार तक लूप i इसे 1 कदम बढ़ा दें।

    • सरणी में सभी तत्वों की gcd खोजें।

    • अस्थायी या गिरफ्तारी [i] के बीच अधिकतम मान के रूप में अस्थायी सेट करें।

  • कुल को अस्थायी/वैल और अधिकतम को कुल और आकार के अंतर के रूप में सेट करें।

  • वापसी और अधिकतम प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//function to find maximum difference element
int maximum(int arr[], int size){
   int ele = arr[0];
   int val = ele;
   int temp = ele;
   for (int i = 1; i < size; i++){
      val = __gcd(val, arr[i]);
      temp = max(temp, arr[i]);
   }
   int total = temp / val;
   int max = total - size;
   return max;
}
int main(){
   int arr[] = { 2, 7, 1, 9};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Maximum difference elements that can added to a set is: "<<maximum(arr, size);
   return 0;
}

आउटपुट

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

Maximum difference elements that can added to a set is: 5

  1. विभाजन की अधिकतम संख्या जिसे C++ में क्रमबद्ध करने के लिए व्यक्तिगत रूप से क्रमबद्ध किया जा सकता है

    हमें N संख्याओं की एक सरणी दी गई है जिसमें तत्व 0 और N-1 श्रेणी में हैं। तत्व अवर्गीकृत हैं। लक्ष्य सरणी के विभाजन की अधिकतम संख्या को खोजना है जिसे व्यक्तिगत रूप से क्रमबद्ध किया जा सकता है और फिर लंबाई एन की एक पूरी क्रमबद्ध सरणी बनाने के लिए संयोजित किया जा सकता है। प्रत्येक विभाजन को इस प्रकार

  1. अधिकतम संख्या जिसे C++ में N सेगमेंट का उपयोग करके सेवन सेगमेंट डिस्प्ले पर प्रदर्शित किया जा सकता है

    यह देखते हुए कि कार्य सात खंड प्रदर्शन की चींटी संख्या पर N खंड का उपयोग करके प्रदर्शित की जा सकने वाली अधिकतम संख्या ज्ञात करना है। आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है - इनपुट -एन=5 आउटपुट - 71 स्पष्टीकरण − सबसे बड़ी संख्या सात खंडों के प्रदर्शन पर निम्नानुसार प्रदर्शि

  1. अधिकतम बिशप जिन्हें C++ में N*N शतरंज की बिसात पर रखा जा सकता है

    हमें एक इनपुट एन दिया गया है जो शतरंज की बिसात के आकार को दर्शाता है। यहाँ कार्य N के किसी भी मान का पता लगाना है, NXN शतरंज की बिसात पर कितने बिशप रखे जा सकते हैं ताकि कोई भी दो बिशप एक दूसरे पर हमला न कर सकें। आइए उदाहरणों से समझते हैं। इनपुट -एन=2 आउटपुट - अधिकतम बिशप जिन्हें N*N शतरंज की बिस