Bonjour,

le code suivant permet de calculer la combinaison de k valeurs parmi n. Pour certaines valeurs de n et q, ce code me donne des résultats erronés. J'aime savoir ou résiste le problème. Et si vous pouvez me donner une autre proposition, je serais reconnaissant.

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
float MI::combinaison(int n,int q) //la Combinaison de q éléments parmi n
{
    float comb;
    if(n==q)
    {
        return 1;
    }
    else
        if(q==1)
        {
             return n;
        }
        else
        {
             comb=(n/q)*combinaison(n-1,q-1);
             return comb;
        }
}