/* File: combi.c */ /* Time-stamp: "2001-03-21 15:42:32 calvanes" */ /* Scopo: uso di funzioni */ /* Calcola il numero delle combinazioni di n oggetti presi r ad r, usando una funzione che calcola il fattoriale. La formula per il calcolo delle r-combinazioni di n oggetti e' n!/(r!*(n-r)!). */ #include <stdio.h> long fattoriale(long x) { long f = 1; long i; if (x > 0) { for (i = 1; i <= x; i++) f *= i; } return f; } /* fattoriale */ int main(void) { long n; /* numero di oggetti */ long r; /* numero di oggetti per ogni gruppo */ long comb; /* numero di combinazioni */ printf("Numero di oggetti? "); scanf("%ld", &n); printf("Numero di oggetti in ogni gruppo? "); scanf("%ld", &r); comb = fattoriale(n) / (fattoriale(r) * fattoriale(n-r)); printf("Le combinazioni di %d oggetti presi %d a %d sono pari a %d\n", n, r, r, comb); return 0; } /* main */