Evaluate binomial coefficients: Difference between revisions

no edit summary
No edit summary
Line 467:
choose(N, K, I+1, (Acc * (N-I+1)) div I).
</lang>
 
 
=={{header|ERRE}}==
<lang>
 
=={{header|F Sharp|F#}}==
<lang fsharp>
let choose n k = List.fold (fun s i -> s * (n-i+1)/i ) 1 [1..k]
</lang>PROGRAM BINOMIAL
 
!$DOUBLE
 
PROCEDURE BINOMIAL(N,K->BIN)
LOCAL R,D
R=1 D=N-K
IF D>K THEN K=D D=N-K END IF
WHILE N>K DO
R*=N
N-=1
WHILE D>1 AND (R-D*INT(R/D))=0 DO
R/=D
D-=1
END WHILE
END WHILE
BIN=R
END PROCEDURE
 
BEGIN
BINOMIAL(5,3->BIN)
PRINT("Binomial (5,3) = ";BIN)
BINOMIAL(100,2->BIN)
PRINT("Binomial (100,2) = ";BIN)
BINOMIAL(33,17->BIN)
PRINT("Binomial (33,17) = ";BIN)
END PROGRAM
</lang>
{{out}}
<pre>Binomial (5,3) = 10
Binomial (100,2) = 4950
Binomial (33,17) = 1166803110
</pre>
 
=={{header|Forth}}==
Anonymous user