C ile Kombinasyonlar

#include <stdio.h>
int main() {
 int n, r, nCr, factorial(int), combinations(int, int);
 printf("N ve r için değerleri girin: ");
 scanf("%d %d", &n, &r);
 while (n != 0) {
 nCr = combinations(n, r);
 if (nCr == 1)
 printf("Alınan % d nesnenin 1 kombinasyonu var "
 "%d at a time\n\n", n, r);
 else
 printf("Alınan % d nesnenin % d kombinasyonu var "
 "%d at a time\n\n", nCr, n, r);
 printf("N ve r için değerleri girin: ");
 scanf("%d %d", &n, &r);
 }
} //end main

int factorial(int n) {
 int nfac = 1;
 for (int h = 2; h <= n; h++)
 nfac = nfac * h;
 return nfac;
} //end factorial
int combinations(int n, int r) {
 int factorial(int);
 return factorial(n) / (factorial(n-r) * factorial(r));
}