Evaluate binomial coefficients: Difference between revisions

Content added Content deleted
(→‎Tcl: Added implementation)
m (→‎{{header|Tcl}}: Add comments)
Line 33: Line 33:
<lang tcl>package require Tcl 8.5
<lang tcl>package require Tcl 8.5
proc binom {n k} {
proc binom {n k} {
# Compute the top half of the division
set pTop 1
set pTop 1
for {set i $n} {$i > $n - $k} {incr i -1} {
for {set i $n} {$i > $n - $k} {incr i -1} {
set pTop [expr {$pTop * $i}]
set pTop [expr {$pTop * $i}]
}
}
# Compute the bottom half of the division
set pBottom 1
set pBottom 1
for {set i $k} {$i > 1} {incr i -1} {
for {set i $k} {$i > 1} {incr i -1} {
set pBottom [expr {$pBottom * $i}]
set pBottom [expr {$pBottom * $i}]
}
}
# Integer arithmetic divide is correct here; the factors always cancel out
return [expr {$pTop / $pBottom}]
return [expr {$pTop / $pBottom}]
}</lang>
}</lang>