DR
Size: a a a
DR
к
к
map f [] = []
map f (x:xs) = (f x):(map f xs)
к
к
fib n = iter (1, 1, n) where
iter (a, b, 1) = a
iter (a, b, n) = iter (b, a + b, n - 1)
fib(n) {
(a, b, n) = (1, 1, n)
loop {
if n == 1 then return a
(a, b, n) = (b, a + b, n - 1)
}
}
(defn fib [n]
(loop [a 1, b 1, n n]
(if (= n 1)
a
(recur b (+ a b) (dec n)))))
DR
к
к
function fib(n) {
let [a, b, i] = [1, 1, n];
while (true) {
if (i === 1) return a;
[a, b, i] = [b, a + b, i - 1];
}
}
к
function fib(n) {
return fib_iter(1, 1, n);
}
function fib_iter(a, b, n) {
if (n == 1) return a;
return fib_iter(b, a + b, n - 1);
}
к
DR
function fib(n) {
return fib_iter(1, 1, n);
}
function fib_iter(a, b, n) {
if (n == 1) return a;
return fib_iter(b, a + b, n - 1);
}
к
DR
NK
к
к
function fib(n) {
return fib_iter(1, 1, n);
}
function fib_iter(a, b, n) {
if (n == 1) return a;
return fib_iter(b, a + b, n - 1);
}
к
к