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

C++ में N को दो या दो से अधिक धनात्मक पूर्णांकों के योग के रूप में लिखने के तरीके

इस समस्या में, हमें एक पूर्णांक n दिया गया है। हमारा कार्य दो या दो से अधिक धनात्मक पूर्णांकों के योग के रूप में व्यक्त किए जा सकने वाले तरीकों की कुल संख्या ज्ञात करना है।

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

इनपुट

N = 4

आउटपुट

5

स्पष्टीकरण

4 can be written as the sum in these ways,
4, 3+1, 2+2, 2+1+1, 1+1+1+1

इस समस्या को हल करने के लिए, हम यूलर के पुनरावर्तन सूत्र का उपयोग करेंगे। किसी संख्या n के लिए, इसे p(n) द्वारा उत्पन्न किए जा सकने वाले तरीकों की कुल संख्या,

Σn=0 p(n)xn = Πk=1 (1/(1-xk ))

इस सूत्र का उपयोग करके, हम p(n),p(n) =p(n-1) + p(n-2) - p(n-5) - p(n-7) + … + ( -1) (k-1) ((के(3k-1))/2)

हमारे समाधान के कार्यान्वयन को दर्शाने के लिए कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
using namespace std;
long long postiveSum(int n){
   vector<long long> p(n + 1, 0);
   p[0] = 1;
   for (int i = 1; i <= n; ++i) {
      int k = 1;
      while ((k * (3 * k - 1)) / 2 <= i) {
         p[i] += (k % 2 ? 1 : -1) * p[i - (k * (3 * k - 1)) / 2];
         if (k > 0)
            k *= -1;
         else
            k = 1 - k;
      }
   }
   return p[n];
}
int main(){
   int N = 12;
   cout<<"The number of ways "<<N<<" can be written as sum of two or more positive numbers is "      <<postiveSum(N);
   return 0;
}

आउटपुट

The number of ways 12 can be written as sum of two or more positive numbers is 77

  1. दो योग IV - इनपुट C++ में एक BST है

    मान लीजिए हमारे पास एक बाइनरी सर्च ट्री और एक लक्ष्य मान है; हमें यह जांचना होगा कि क्या बीएसटी में दो तत्व मौजूद हैं जैसे कि उनका योग दिए गए लक्ष्य के बराबर है या नहीं। तो, अगर इनपुट पसंद है तो आउटपुट ट्रू होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सरणी को परिभाषित करें v एक

  1. दो नंबर जोड़ने के लिए C++ प्रोग्राम

    जोड़ एक बुनियादी अंकगणितीय ऑपरेशन है। दो संख्याओं को जोड़ने का कार्यक्रम दो संख्याओं का योग करता है और उनके योग को स्क्रीन पर प्रिंट करता है। एक प्रोग्राम जो दो संख्याओं के योग को प्रदर्शित करता है, वह इस प्रकार दिया गया है - उदाहरण #include <iostream> using namespace std; int main() {  

  1. पायथन में दो पूर्णांकों का योग

    मान लीजिए कि हमारे पास दो पूर्णांक a और b हैं। हमारा कार्य इन दो पूर्णांकों का योग ज्ञात करना है। एक बाधा यह है कि, हम + या - जैसे किसी भी ऑपरेटर का उपयोग नहीं कर सकते हैं। तो अगर a =5 और b =7, तो परिणाम 12 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - समाधान के लिए हम बिटवाइज़ लॉजिकल ऑपर