RosettaCodeData/Task/Modular-exponentiation/Tcl/modular-exponentiation-3.tcl
2023-07-01 13:44:08 -04:00

10 lines
194 B
Tcl

package require Tcl 8.5
proc modexp {a b n} {
for {set c 1} {$b} {set a [expr {$a*$a % $n}]} {
if {$b & 1} {
set c [expr {$c*$a % $n}]
}
set b [expr {$b >> 1}]
}
return $c
}