Ecco un esempio per il calcolo delle dispoizioni semplici in C:

codice:
#include <stdio.h>

// Calcolo delle disp semp. di n oggetti di classe k

int dispo(int, int, int);

void main()
{
    int n, k;

    printf("\nDISP. SEMPLICI DI N OGGETTI PRESI K PER VOLTA");
    printf("\nInserire n: ");
    scanf("%d", &n);
    printf("\nInserire k: ");
    scanf("%d", &k);

    printf("\nLe disp. semplici di %d di classe %d è: %d", n, k,  dispo(k, n, n));
}

int dispo(int k, int n, int m)
{
    if(n==m-k)
        return(1);
    else
        return(n*dispo(k, n-1, m));
}
Per le combinazioni semplici si usa la stessa struttura dividendo il risultato delle dispo per il fattoriale di k, e quindi si utilizzeranno tre funzioni ricorsive, una per le combi, l'altra per le dispo, e l'ultima per il calcolo del fattoriale in questo modo:

codice:
int comb(int k, int n)
{
     return(dispo(k, n, n)/fat(k));
}

int dispo(int k, int n, int m)
{
     if(n==m-k)
          return(1);
     else
          return(n*dispo(k, n-1, m));
}

int fat(int n)
{
     if(n==0)
          return 1;
     else
        return(n*fatt(n-1));
}
Spero ti possano andare bene!!
CIAO