여기 fibbonaci 번호를 계산하는 두 가지 함수는 모두 올바르게 작동하지만 다른 방식으로 작성됩니다.f # fibbonaci 효율적인 알고리즘
어느 것이 더 좋고, 더 효율적이며, 더 이해하기 쉬운 코드라고 생각하십니까?
let fibe n =
let rec loop acc1 acc2 n =
match n with
| n when n = 0I -> acc1
| x -> loop acc2 (acc1 + acc2) (x - 1I)
loop 0I 1I n
let myfib n =
if n = 0I then 0I
else if n = 1I then 1I
else
let rec loop i f s =
match i with
| x when x = n -> f+s
| x when x < n -> loop (i+1I) s (s+f)
loop 2I 0I 1I
http://codereview.stackexchange.com/ – tvanfosson