Bonjour,
il y a un exercice que je n'arrive pas a faire en entier, s'il y a quelqu'un qui peut m'aider, merci.
Écrire un programme C qui calcule la suite des nombres de Catalan définie ainsi:
Les cinq premiers termes de la suite sont donc: 1, 1, 2, 5 et 14. Votre programme devra calculer cette suite de 2 façons différentes, chaque façon correspondant à une fonction distincte:C(1)=1 et C(n)=somme(i=1 jusqu'a n-1) C(i)C(n-i) avec n>1
a)en utilisant une fonction récursive selon la définition ci-dessus
b)en utilisant une fonction qui calcule avec deux boucles "for" la formule suivante (équivalente à la formule récursive):
pour la fonction récursive (question a),C(n)=(1/n)*(n-1 parmi 2n-2)
où (n-1 parmi 2n-2)=(2n-2)!/(n-1)!(n-1)!
je l'ai faite:
mais pour la question b, je n'y arrive pas, s'il y a quelqu'un qui peut m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int function c(int n); { int resultat; if (n==1) resultat=1 else { resultat=0; for (int i=1;i<n-1;i++) resultat=resultat+c(i)c(n-1); } return resultat; }
merci.
Partager