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:
C(1)=1 et C(n)=somme(i=1 jusqu'a n-1) C(i)C(n-i) avec n>1
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:

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):
C(n)=(1/n)*(n-1 parmi 2n-2)
où (n-1 parmi 2n-2)=(2n-2)!/(n-1)!(n-1)!
pour la fonction récursive (question a),
je l'ai faite:

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; 
 
}
mais pour la question b, je n'y arrive pas, s'il y a quelqu'un qui peut m'aider.
merci.