fibonacci

Recursive:

#![allow(unused)]
fn main() {
fn fib_rec(i: int) -> int {
    match i {
        0 => 0,
        1 => 1,
        i => fib_rec(i - 1) + fib_rec(i - 2),
    }
}
assert_eq(fib_rec(6), 8);
}

Iterative:

#![allow(unused)]
fn main() {
fn fib_iter(mut i: int) -> int {
    if i <= 1 {
        return i;
    }
    let mut a = 0;
    let mut b = 1;
    i -= 2;
    while i >= 0 {
        let temp = b;
        b += a;
        a = temp;
        i -= 1;
    }
    b
}
assert_eq(fib_iter(90), 2880067194370816120);
}