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