Golang 加泰罗尼亚语中的第N个数字

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程