Anonymous user
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}}==
|