[TiLUG] OT - Algoritmo calcolo coefficienti binomiali

Luigi Panzeri aka Matley matley@muppetslab.org
Mar 26 Feb 2008 15:51:15 CET


> for(int k=0;k<=5;k++){
>     for(int n=k;n<10;n++){
>        val+=factorial(n)/(factorial(k)*factorial(n-k));
>     }
> }

Puoi semplificare i loro fattori comuni:

diff = n - k
val = prod(diff, n) / factorial(diff)

dove prod é una funzione che moltiplica da diff a n (non credo servano
tutte quelle somme se ho capito il tuo problema).

V. wikipedia ultimo esempio http://en.wikipedia.org/wiki/Binomial_coefficient

oppure per una soluzione scalabile usa Google (n=10, k=3) ;-)

http://www.google.it/search?q=10%21+%2F+%283%21+*+7%21%29

-- 
Luigi Panzeri aka Matley

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Quotes on Lisp: http://lispers.org/


Maggiori informazioni sulla lista TiLUG