Bonjour,
J'ai besoin d'écrire un petit programme de probabilité.
Voici le code :
Sur papier, l'algorithme semble juste.
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include <stdio.h> #define M 10 float pr(int j, int n) { float r = 0.0f; if (j > n || j == 0) { r = 0; } else if (j == 1 && n == 1) { r = 1; } else { r = ((j/M) * pr(j, n - 1) + (1 - (j - 1)/M) * pr(j - 1, n - 1)); } return r; } int main(void) { printf ("test : %f\n", pr(2, 3)); return 0; }
Quand j'exécute le programme, il retourne toujours 0. Il retourne en faite la valeur que je met dans la première condition comme si il "oubliait" de revenir au premier appel et faire l'addition une fois que tout les termes sont "trouvés".
Pouvez-vous m'aider ?
Merci d'avance !
Partager