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

आकार N के उन सरणियों की संख्या जिनके तत्व धनात्मक पूर्णांक हैं और योग K है C++ में


हमें दो संख्याएं n और k दी गई हैं। हमें उन सरणियों की संख्या ज्ञात करनी है जिन्हें n संख्याओं का उपयोग करके बनाया जा सकता है जिनका योग k है।

आकार N की सरणियों की संख्या जिनका योग K है, वह है $\dbinom{k - 1}{n - 1}$।

यह n तत्वों का उपयोग करके बनाई जा सकने वाली सरणियों की संख्या ज्ञात करने का एक सीधा सूत्र है जिनका योग k है। आइए एक उदाहरण देखते हैं।

इनपुट

n = 1 k = 2

आउटपुट

1

बनाई जा सकने वाली एकमात्र सरणी [2] है

इनपुट

n = 2 k = 4

आउटपुट

3

बनाई जा सकने वाली सरणियां हैं [1, 3], [2, 2], [3, 1]।

एल्गोरिदम

  • संख्याएं n और k आरंभ करें।
  • किसी संख्या का फैक्टोरियल ज्ञात करने के लिए एक फ़ंक्शन लिखें।
  • अब, उपरोक्त बाइनोमियल की गणना के लिए हमारा मुख्य फ़ंक्शन लिखें।
  • उत्तर वापस करें।

कार्यान्वयन

निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:

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

int factorial(int n) { 
    int result = 1; 
    for (int i = 2; i <= n; i++) { 
        result *= i; 
    } 
    return result; 
} 

int getNumberOfArraysCount(int n, int k) { 
    return factorial(n) / (factorial(k) * factorial(n - k)); 
} 

int main() { 
    int N = 5, K = 8; 
    cout << getNumberOfArraysCount(K - 1, N - 1) << endl; 
    return 0; 
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

35

  1. C++ में उन नोड्स को गिनना जिनका योग X के साथ फाइबोनैचि संख्या है C++ में उन नोड्स को गिनना जिनका योग X के साथ फाइबोनैचि संख्या है

    नोड्स के वजन वाली एक बाइनरी ट्री दी गई है। लक्ष्य उन नोड्स की संख्या ढूंढना है जिनके वजन ऐसे हैं कि संख्या एक फाइबोनैचि संख्या है। फाइबोनैचि श्रृंखला में संख्याएं हैं: 0, 1, 1, 2, 3, 5, 8, 13... nth संख्या (n-1)th और (n-2)th का योग है। यदि वजन 13 है तो यह एक फाइबोनैचि संख्या है इसलिए नोड गिना जाएगा।

  1. - C++ में जांचना कि कोई संख्या दिए गए पहले तत्व और अंतर वाली AP का हिस्सा है या नहीं

    मान लीजिए हमारे पास AP का पहला तत्व और अंतर (difference) है। हमें जांचना है कि दी गई संख्या n AP का हिस्सा है या नहीं। यदि पहला पद a=1 है, अंतर d=3, और पद x=7 की जांच करनी है। उत्तर हां है। इस समस्या को हल करने के लिए, हम इन चरणों का पालन करेंगे: यदि d=0 है, और a=x, तो true लौटाएं, अन्यथा fals

  1. - C++ में योग और GCD दिए जाने पर दो संख्याएं ढूंढना

    हमारे पास दो संख्याओं a और b का योग और GCD है। हमें दोनों संख्याएं a और b ढूंढनी हैं। यदि यह संभव नहीं है, तो -1 लौटाएं। मान लीजिए योग 6 है और GCD 2 है, तो संख्याएं 4 और 2 हैं।दृष्टिकोण ऐसा है, चूंकि GCD दिया गया है, तो यह ज्ञात है कि संख्याएं इसके गुणक होंगी। अब निम्न चरण हैंयदि हम पहली संख्या को G