Golang 加泰罗尼亚语中的第N个数字
加泰罗尼亚数是自然数的序列,它给出了有n个值的BST(二进制搜索树)的可能数量。因此,加泰罗尼亚数是一个有n+1个叶子的完整二进制树。
加泰罗尼亚数的一些应用是计算嵌套括号的对数,有效山脉等。
对于n=5,C=(C(0)*C(4))。+ (C(1) * C(3)) + (C(2) * C(2))+ (C(3) * C(1)) + (C(4)* C(0)
因此,我们可以看到加泰罗尼亚数是以递归关系的形式出现的,也就是说,对于第 n项,加泰罗尼亚数 Cn 是。
加泰罗尼亚语(i)*加泰罗尼亚语(n-i-1)之和
其中 i 的范围从0到(n-1)。
例如 ,打印N=5的加泰罗尼亚数。
1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, ……..
上述数列中的第5项是14,因此我们将把第5个加泰罗尼亚数字的输出打印为’14’。
加泰罗尼亚数字的实现
下面给出的代码是第n个加泰罗尼亚数字的实现 –
例子
package main
import "fmt"
func main() {
var n =5
fmt.Scanf("%d", &n)
Catalan := make([]int, n + 1)
Catalan[0] = 1
Catalan[1] = 1
for i := 2; i <= n; i++ {
for j := 0; j < i; j++ {
Catalan[i] += (Catalan[j] * Catalan[i - j - 1])
}
}
fmt.Printf("The Catalan Number (Cn) is: %d", Catalan[n - 1])
}
输出
运行上述代码将生成n=5的加泰罗尼亚数字。
14