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

पता लगाएँ कि क्या आकार K का कोई उपसमुच्चय -1 की सरणी में 0 योग के साथ और C++ में +1 है

इस समस्या में, हमें केवल 1 और -1 और एक पूर्णांक मान k से मिलकर एक सरणी arr[] दी जाती है। हमारा काम यह पता लगाना है कि क्या आकार K का कोई उपसमुच्चय -1 और +1 की सरणी में 0 योग के साथ है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

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

आउटपुट: हाँ

स्पष्टीकरण:

आकार 4, {-1, 1, -1, 1} का उपसमुच्चय। योग =-1 + 1 - 1 + 1 =0

समाधान दृष्टिकोण:

हमें यह जांचने की आवश्यकता है कि क्या k आकार का कोई उपसमुच्चय मौजूद है जिसका योग 0 के बराबर है। एक उपसमुच्चय के रूप में हम सरणी से किसी भी तत्व पर विचार कर सकते हैं, योग 0 होगा, यदि इसमें 1 और -1 की समान संख्या होगी। उपसमुच्चय। यह तभी संभव है जब उपसमुच्चय का आकार सम हो।

बस,

यदि k सम है, तो सत्य लौटें।
अगर k विषम है, तो झूठी वापसी करें।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;

int countOne(int a[], int n) {
   
   int i, count = 0;
   for (i = 0; i < n; i++)
      if (a[i] == 1)
         count++;
   return count;
}

bool isSubSetSumZeroFound(int arr[], int n, int K) {
   
   int totalOne = countOne(arr, n);
   int totalNegOne = n - totalOne;
   return (K % 2 == 0 && totalOne >= K / 2 && totalNegOne >= K / 2);
}

int main() {
   
   int arr[] = { 1, 1, -1, -1, 1, -1, 1, 1, -1 };
   int size = sizeof(arr) / sizeof(arr[0]);
   int K = 4;
   if (isSubSetSumZeroFound(arr, size, K))
      cout<<"Subset of size "<<K<<" with sum of all elements 0 exists.";
   else
      cout<<"No subset found";
   return 0;
}

आउटपुट

Subset of size 4 with sum of all elements 0 exists.

  1. सी ++ प्रोग्राम दो संख्याओं को योग और उत्पाद दोनों के साथ खोजने के लिए एन के समान है

    इस ट्यूटोरियल में, हम दो संख्याओं (जैसे ए और बी) को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे, जैसे कि दोनों a+b = N and a*b = N are satisfied. दोनों समीकरणों में से a को हटाने पर हमें b और N में द्विघात समीकरण मिलता है, यानी b2 - bN + N = 0 इस समीकरण के दो मूल होंगे जो हमें a और b दोनों का मान दे

  1. C++ में दिए गए GCD और LCM के साथ कोई भी युग्म ज्ञात कीजिए

    इस खंड में हम देखेंगे कि दिए गए GCD और LCM मानों का उपयोग करके जोड़े की संख्या कैसे प्राप्त करें। मान लीजिए कि GCD और LCM मान 2 और 12 हैं। अब संख्याओं के संभावित जोड़े (2, 12), (4, 6), (6, 4) और (12, 2) हैं। तो हमारा प्रोग्राम जोड़ियों की गिनती का पता लगाएगा। वह 4 है। इस समस्या को हल करने की तकनीक

  1. क्या C और C++ में "लॉन्ग" डेटा टाइप की कोई आवश्यकता है?

    सी या सी ++ में, चार अलग-अलग डेटाटाइप होते हैं, जिनका उपयोग पूर्णांक प्रकार के डेटा के लिए किया जाता है। ये चार डेटाटाइप शॉर्ट, इंट, लॉन्ग और लॉन्ग लॉन्ग हैं। इनमें से प्रत्येक डेटाटाइप अलग-अलग मेमोरी स्पेस लेता है। आकार विभिन्न वास्तुकला और विभिन्न ऑपरेटिंग सिस्टम में भिन्न होता है। कभी-कभी इंट 4-ब