Code: Alles auswählen
fib 1000 _ = []
fib _ [] = []
fib n l = fib (n + 1) (l ++ [(last l + last (init l))])
Code: Alles auswählen
fib 1000 _ = []
fib _ [] = []
fib n l = fib (n + 1) (l ++ [(last l + last (init l))])
Blade Runner hat geschrieben:Die ersten zwei Zeilen sollen eine Fallunterscheidung darstellen... zumindest nach meinem lückenhaften Haskellverständnis.
Code: Alles auswählen
fib 1000 _ = []
fib _ [] = []
Code: Alles auswählen
let rec fibs n acc = match n with
| 0 -> acc
| l -> let (fst,snd) = acc in
fibs (l-1) (snd, fst+snd)
let fib n =
let (r, _) = fibs n (0, 1) in
r