हमें दो संख्याएं 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