nombres de catalan en iteratif
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:
Citation:
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):
Citation:
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:
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.