Go Lang 中的第 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个项,加泰罗尼亚数道道是,
Catalan(i)*加泰罗尼亚语(ni-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
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志