Exercice 2-18 Trouvez le nombre de combinaisons (15 points)
Cette question nécessite d'écrire un programme pour calculer le nombre de combinaisons de m éléments (m≤n) à partir de n éléments différents selon la formule .
Il est recommandé de définir et d'appeler la fonction fact (n) pour calculer n!, Où le type de n est int et le type de fonction est double.
Format d'entrée:
Entrez deux entiers positifs m et n (m≤n) sur une ligne, séparés par des espaces.
Format de sortie: sortie
selon le format "résultat = résultat du calcul du numéro de combinaison". Le titre garantit que le résultat est dans le type double.
Exemple d'entrée:
2 7
Exemple de sortie:
result = 21
Code:
#include"stdio.h"
double fact(int n)
{
if(n >= 2)
{
return n*fact(n-1);
}
return 1;
}
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("result = %0.lf", fact(n)/fact(m)*fact(n-m)));
return 0;
}
La fonction de fait ci-dessus est récursive. Si vous ne la comprenez pas, vous pouvez utiliser Baidu.