aboutsummaryrefslogtreecommitdiff
path: root/examples/fib.sloth
blob: e98764a4c31e456970877ead64981b47cc1f69e9 (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);