Motzkin संख्या श्रृंखला 1, 1, 4, 9, आदि से शुरू होती है, हम अनुक्रम के साथ सामान्यीकृत nth शब्द प्राप्त कर सकते हैं। Motzkin संख्या क्रम इस प्रकार है।
ए<उप>0उप> =1पी>
ए<उप>1उप> =1पी>
ए<उप>2उप> =4पी>
ए<उप>3उप> =9
ए<उप>एनउप> =((2 * n + 1)/ n + 2) * M<उप>(n-1)उप> +((3 * n - 3)/ n + 2) * M(n - 2)
एल्गोरिदम
-
संख्या का प्रारंभ करें n.
-
n. . तक पुनरावृति करें
-
पिछले दो नंबर अपडेट करें
-
-
अंतिम नंबर लौटाएं।
उदाहरण
कार्यान्वयन
C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है
#include <bits/stdc++.h>
using namespace std;
int getNthTerm(int n) {
if(n == 0 || n == 1) {
return 1;
}
int a = 1, b = 1;
for(int i = 2; i <= n; ++i) {
int c = ((2 * i + 1) * b + (3 * i - 3) * a) / (i + 2);
a = b;
b = c;
}
return b;
}
int main() {
int n = 5;
cout << getNthTerm(n) << endl;
return 0;
} आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
21