RosettaCodeData/Task/Exponentiation-operator/Factor/exponentiation-operator-4.factor
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

6 lines
152 B
Factor

: (pow) ( f n -- f' )
[ 1 ] 2dip
[ dup 1 = ] [
dup even? [ [ sq ] [ 2 /i ] bi* ] [ [ [ * ] keep ] dip 1 - ] if
] until
drop * ;