フィボナッチ数/F Sharp
< フィボナッチ数
ナビゲーションに移動
検索に移動
記述例 1
let rec fib x =
match x with
| x when x <= 0I -> 0I
| 1I -> 1I
| 2I -> 1I
| x -> fib (x - 1I) + fib (x - 2I)
[0I .. 15I] |> Seq.iter (fun x -> printfn "fib(%O) = %O" x (fib x));;
記述例2
let fib x =
let rec loop acc1 acc2 =
function
| x when x <= 0I -> acc1
| x -> loop acc2 (acc1 + acc2) (x - 1I)
loop 0I 1I x
[0I .. 15I] |> Seq.iter (fun x -> printfn "fib(%O) = %O" x (fib x));;
関連項目
参考文献