aboutsummaryrefslogtreecommitdiff
path: root/examples/fib.sloth
blob: 1031d1c34f069e1b58020800ab318c154fe46d61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
fn fib(n: i32) -> i32 {
    if n == 0 || n == 1 {
        return n;
    }

    var grandparent = 0;
    var parent = 1;
    var me = 0;

    for i in 0..n-1 {
        me          = parent + grandparent;
        grandparent = parent;
        parent      = me;
    }

    return me;
}

print(fib(0));
print(fib(1));
print(fib(2));
print(fib(3));
print(fib(4));
print(fib(5));