### re: Challenge: Write the recursive Fibonacci algorithm in a different language. VIEW POST

re: Nice! Since writing my implementation I've remembered that the parameter i is unnecessary and you can decrease n instead until it's 0. fn fib_s...

Yes, I do. But I have to use fib_super_fast(n, 1, 1, 0) as my other implementations also begin with 1. The code for calling the fibonacci methods is:

``````fn main() {
loop {
println!("Enter n:");

let mut n_str = String::new();
let n = user_input_to_int(n_str);

let t0 = SystemTime::now();
let fib_super_fast_n = fib_super_fast(n, 1, 1, 0);
let t1 = SystemTime::now();
println!("fib_super_fast(n) = {} ({}µs)", fib_super_fast_n, time_difference(t0, t1));

let t0 = SystemTime::now();
let fib_fast_n = fib_fast(n);
let t1 = SystemTime::now();
println!("fib_fast(n)       = {} ({}µs)", fib_fast_n, time_difference(t0, t1));

let t0 = SystemTime::now();
let fib_n = fib(n);
let t1 = SystemTime::now();
println!("fib(n)            = {} ({}µs)", fib_n, time_difference(t0, t1));
}
}
``````
code of conduct - report abuse