[TiLUG] OT - Algoritmo calcolo coefficienti binomiali

emanuele quinto emanuele.quinto@gmail.com
Mar 26 Feb 2008 12:16:58 CET


2008/2/26 Matteo Pasotti <matteo.pasotti@gmail.com>:
> ciao a tutti,
> scusate il leggero ot, neanche tanto visto che la nostra ml è piena di
> ottimi sviluppatori :)
> Volevo sottoporvi il seguente problema.
>
> Dati i coefficienti binomiali espressi in questa forma:
>
> C(n;k)=n! / k! * (n-k)!
>
> e considerando il caso in cui k vari tra 0 e 5 ed n tra k e 10
> come riconduco ciò ad un algoritmo?
> Io farei così, ma ho qualche dubbio sull'interpretazione del testo:
>
> Σ(k,0,5, Σ(n,k,10,C(n;k)))
>
> e quindi una roba del genere
>
> for(int k=0;k<=5;k++){
>    for(int n=k;n<10;n++){
>       val+=factorial(n)/(factorial(k)*factorial(n-k));
>    }
> }
>
> ove factorial non è nientaltro che una funzione che calcola il fattoriale :)
>
> Come vi pare? Ci sono sistemi più efficienti per calcolare una roba
> del genere? sempre ammesso che sia giusta ;)
> Grazie in anticipo
> --
> Matteo aka TM
>
> --
> Mailing list info: http://lists.linux.it/listinfo/tilug
>

Per le binomiali dovrebbe valere la formula:

Σ(j,k,n,C(j;k))) = C(n+1, k+1)

Quindi la formula si dovrebbe semplificare in una somma:

Σ(k,0,5, C(11, k+1))



ema

-- 
Emanuele Quinto - www.kronstadt.it
------------------------------------------------------------------------------------------------------------------
My mother used to say to me, "Elwood" - she always called me Elwood -
"In this world, Elwood, you must be oh-so smart, or oh-so pleasant."
For years I was smart. I recommend pleasant, and you may quote me.
------------------------------------------------------------------------------------------------------------------


Maggiori informazioni sulla lista TiLUG