// Dit programma vraagt de gebruiker om een twee niet-negatieve gehele // getallen N en k (met k <= N). // Bij een correcte invoer worden vervolgens N! en de binomiaal-coefficient // `N boven k' berekend. // Bij een niet-correcte invoer volgt een foutmelding. //******************************************************************** #include using namespace std; //******************************************************************** void Foutmelding () { cout << "Helaas, u heeft weer iets doms gedaan...\n"; } // Foutmelding //******************************************************************** int Faculteit (int N) // berekent N! { int Product = 1; while (N>=1) { Product *= N; N --; } return Product; } // Faculteit //******************************************************************** int BinCoef (int N, int k) // berekent de binomiaal coefficient `N boven k' { return (Faculteit (N) / (Faculteit (k) * Faculteit (N-k)) ); // N.B.: deling gaat altijd goed } // BinCoef //******************************************************************** int main () { int N, k; cout << endl; cout << "Geef een niet-negatief geheel getal N: "; cin >> N; if (N < 0) Foutmelding (); // N.B.: eigenlijk heeft het geen zin om nog naar k te vragen // als N < 0; we doen echter net of onze neus bloedt cout << "Geef een geheel getal k met 0 <= k <= " << N << ": "; cin >> k; if ((k < 0) || (k>N)) Foutmelding (); if (N>=0) { cout << endl; cout << "N! = " << Faculteit (N) << ".\n"; if ((k >= 0) && (k<=N)) { // accolades niet per se nodig cout << "N boven k = " << BinCoef (N, k) << ".\n"; } } return 0; } // main