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

सी ++ प्रोग्राम गैर खाली सबस्ट्रिंग की लंबाई खोजने के लिए जिसका योग सम है

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। हमें इसके तत्वों के गैर-रिक्त उपसमुच्चय की लंबाई इस प्रकार ज्ञात करनी होगी कि उनका योग सम हो या जब ऐसा कोई उपसमुच्चय न हो तो वापसी -1 हो।

इसलिए, यदि इनपुट A =[1, 3, 7] जैसा है, तो आउटपुट 2 होगा, क्योंकि [1, 3] का योग 4 है।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   if A[i] mod 2 is same as 0, then:
      k := i + 1
if n is 1 AND k is 0, then:
   return -1
otherwise when k is not equal to 0, then:
   return 1
Otherwise
   return 2

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> A) {
   long n = A.size(), k = 0;
   for (long i = 0; i < n; i++) {
      if (A[i] % 2 == 0) {
         k = i + 1;
      }
   }
   if (n == 1 & k == 0) {
      return -1;
   }
   else if (k != 0) {
      return 1;
   }
   else {
      return 2;
   }
}
int main() {
   vector<int> A = { 1, 3, 7 };
   cout << solve(A) << endl;
}

इनपुट

{ 1, 3, 7 }

आउटपुट

2

  1. C++ प्रोग्राम किसी संख्या के सम गुणनखंडों का योग ज्ञात करने के लिए?

    इस भाग में हम देखेंगे कि कैसे हम किसी संख्या के सभी सम अभाज्य गुणनखंडों का योग कुशल तरीके से प्राप्त कर सकते हैं। एक संख्या है मान लीजिए n =480, हमें इसका पूरा गुणनखंड प्राप्त करना है। 480 के अभाज्य गुणनखंड 2, 2, 2, 2, 2, 3, 5 हैं। सभी सम गुणनखंडों का योग 2+2+2+2+2 =10 है। इस समस्या को हल करने के लि

  1. सी ++ प्रोग्राम एक स्ट्रिंग की लंबाई का पता लगाने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। स्ट्रिंग की लंबाई शून्य वर्ण से पहले स्ट्रिंग में वर्णों की संख्या है। उदाहरण के लिए। char str[] = “The sky is blue”; Number of characters in the above string = 15 एक स्ट्रिंग की लंबाई ज्ञात करने के लिए एक

  1. सबसे लंबे सबलिस्ट की लंबाई खोजने का कार्यक्रम जिसका योग पायथन में 0 है

    मान लीजिए कि हमारे पास केवल दो मानों 1 और -1 के साथ एक सूची है। हमें सबसे लंबे सबलिस्ट की लंबाई ज्ञात करनी है जिसका योग 0 है। इसलिए, यदि इनपुट nums =[1, 1, −1, 1, 1, −1, 1, −1, 1, −1] जैसा है, तो आउटपुट 8 होगा, क्योंकि सबसे लंबी सबलिस्ट [−1 है] , 1, 1, −1, 1, −1, 1, −1] जिसका योग 0 है। इसे हल करने