Rust recursive functions: Fibonacci
examples/functions/fibonacci/src/main.rs
fn main() { let n = 15; let fibo = recursive_fibonacci(n); println!("The {n}th Fibonacci number is {fibo}"); let fibo = fibonacci(n); println!("The {n}th Fibonacci number is {fibo}"); } fn recursive_fibonacci(n: i32) -> i32 { if n == 1 || n == 2 { return 1; } recursive_fibonacci(n - 1) + recursive_fibonacci(n - 2) } fn fibonacci(n: i32) -> i32 { let mut fib = vec![1, 1]; if n == 1 || n == 2 { return 1; } for _ in 3..=n { fib.push(fib[fib.len() - 1] + fib[fib.len() - 2]); } fib[fib.len() - 1] }