
Given an interger n; the task is to find the Catalan Number on that nth position. So, before doing the program we must know what is a Catalan Number?
Catlan numbers are the sequence of natural numbers, which occurs in the form of various counting number problems.
Catalan numbers C0, C1, C2,… Cn are driven by formula −
$$c_{n}=\frac{1}{n+1}\binom{2n}{n} = \frac{2n!}{(n+1)!n!}$$
The few Catalan numbers for every n = 0, 1, 2, 3, … are 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, …
So if we entered n =3 we should get 5 as an output from the program
Some of few applications of Catalan numbers −
Input: n = 6 Output: 132 Input: n = 8 Output: 1430
解决给定问题的方法 −
Start
Step 1 -> In function unsigned long int catalan(unsigned int n)
If n <= 1 then,
Return 1
End if
Declare an unsigned long variable res = 0
Loop For i=0 and i<n and i++
Set res = res + (catalan(i)*catalan(n-i-1))
End Loop
Return res
Step 2 -> int main()
Declare an input n = 6
Print "catalan is : then call function catalan(n)
Stop#include <stdio.h>
// using recursive approach to find the catalan number
unsigned long int catalan(unsigned int n) {
// Base case
if (n <= 1) return 1;
// catalan(n) is sum of catalan(i)*catalan(n-i-1)
unsigned long int res = 0;
for (int i=0; i<n; i++)
res += catalan(i)*catalan(n-i-1);
return res;
}
//Main function
int main() {
int n = 6;
printf("catalan is :%ld</p><p>", catalan(n));
return 0;
}catalan is :132
以上就是第n个卡塔兰数的C程序的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号