F#:どう書く?org - 与えられた数字のケタ数
どう書く?orgの「与えられた数字のケタ数」のプログラムを書いてみました。
文字列を使うやり方だとC#とほとんど変わらないので、文字列を使わずにコードを書いてみました。
タプルを返す関数としています。
let solve n =
let rec digitNumber n dig kurai =
if n < 10 then
dig,kurai
else
digitNumber (n / 10) (dig + 1) (kurai * 10)
digitNumber n 1 1
let Main() =
printfn "%A" (solve 8)
printfn "%A" (solve 38)
printfn "%A" (solve 2345)
do Main()