Ricerca appunti sul web

Ricerca personalizzata

sabato 28 febbraio 2009

Sorgenti c : Partition

Scrivere una funzione ricorsiva che preso in input un
intero n conta il numero di combinazioni, contenenti solo numeri positivi (maggiori
di 0) minori o uguali ad n ed ordinati in modo crescente, tali che la loro somma faccia n

#include <stdio.h>

int partition(int n, int k);

int main()
{
int n;
int somma=0;
scanf("%d",&n);
printf("%d",partition(n,1));
return 0;
}

int partition(int n, int k)
{
if (k > n) return 0;
if (k == n) return 1;
else
return partition(n, k+1) + partition(n-k, k);
}

0 commenti: