首頁  >  文章  >  後端開發  >  在C++中,Motzkin數

在C++中,Motzkin數

WBOY
WBOY轉載
2023-08-25 19:13:061377瀏覽

在C++中,Motzkin數

Motzkin數列以1、1、4、9等開頭,我們可以透過該數列得到廣義的第n項。 Motzkin 數列如下:

##a

0 = 1

a

1 = 1#a

2

= 4 a

3

= 9a

n

= ((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

以上是在C++中,Motzkin數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除