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

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

हमें दो नंबर 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. उन नोड्स की गणना करें जिनका योग X के साथ C++ में एक फाइबोनैचि संख्या है

    एक बाइनरी ट्री दिया गया है जिसके नोड्स के भार संख्याओं के रूप में हैं। लक्ष्य उन नोड्स की संख्या का पता लगाना है जिनका वजन इस तरह है कि संख्या एक फाइबोनैचि संख्या है। फाइबोनैचि श्रृंखला में संख्याएं हैं:0, 1, 1, 2, 3, 5, 8, 13…। n वीं संख्या का योग है (n−1)वें और (n−2)वें। अगर वजन 13 है तो यह एक फाइ

  1. ज्ञात कीजिए कि क्या कोई संख्या AP का भाग है जिसका प्रथम अवयव और अंतर C++ का प्रयोग करके दिया गया है।

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

  1. ऐसी दो संख्याएँ ज्ञात कीजिए जिनका योग और GCD C++ में दिया गया है

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