Maison  >  Article  >  développement back-end  >  En C++, les nombres de Motzkin

En C++, les nombres de Motzkin

WBOY
WBOYavant
2023-08-25 19:13:061380parcourir

En C++, les nombres de Motzkin

La série de nombres de Motzkin commence par 1, 1, 4, 9, etc., nous pouvons obtenir le nième terme généralisé avec la séquence La séquence de nombres de Motzkin est la suivante.

a0 = 1

.

a1 = 1

a2 = 4

a3 = 9

an = ((2 * n + 1)/ n + 2) * M (n-1 ) +((3 * n - 3)/ n + 2) * M(n - 2)

Algorithme

  • Initialiser le numéro n

  • Mettre à jour les deux numéros précédents
    • Renvoyer le dernier numéro.
    • Exemple
  • Implémentation
  • Voici l'implémentation de l'algorithme ci-dessus en C++ Vous exécutez le code ci-dessus, vous obtiendrez les résultats suivants.

    #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;
    }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer