#include using namespace std; /* Calcul nombre de combinaisons de k elements pris parmi n, avec fonction */ int combinaison(int n, int k){ int km, i, C, C2; if (k > n-k) km = n-k; else km = k; C = 1; for (i = 1; i <= km; i++){ C2 = C; C *= (n-i+1); if (C/C2 != n-i+1){ cout << "Integer overflow !" << endl; break; } C /= i; } return C; } int main(){ int n, k; cout << "Entier n ? "; cin >> n; cout << "Entier k ? "; cin >> k; cout << "Nombre de combinaisons de " << k << " elements pris parmi " << n << " = " << combinaison(n,k) << endl; return 0; }