t-nissieの日記: 世間で流行(?)のべき乗計算をF#でしてみた
日記 by
t-nissie
$ fsi.exe
:
> let even n = (n % 2)=0;;
val even : int -> bool
> let square n = n * n;;
val square : int -> int
> let rec power m n =
if n = 0 then 1 else
if even n then power (square m) (n / 2) else
m * power m (n - 1);;
val power : int -> int -> int
> power 2 15;;
val it : int = 32768
> power 2 20;;
val it : int = 1048576
> let power2 n = power 2 n;;
val power2 : int -> int
> power2 20;;
val it : int = 1048576
> #quit;;
ってか、fsi.exeにヒストリ機能はないのかい?
それともEmacsとかから使うべきなのか。
アキュムレータと末尾再帰って何?おいしいの?
上のままじゃ末尾再帰になってなくて最適化されないの?????
世間で流行(?)のべき乗計算をF#でしてみた More ログイン