フィボナッチは再起的に計算を行う。
6 の場合は、
6 -> (4,5)
4 -> (2,3)
5 -> (3,4)
2 -> 【1】
3 -> (1, 2) -> 【1】【1】
fn fibonacci(n: u32)-> u32{ if(n == 1) || (n == 2) { return 1; } return fibonacci(n - 2) + fibonacci(n - 1); } fn main() { println!("{}", fibonacci(6)); }
Compiling rust v0.1.0 (/home/vagrant/dev/algorithm/rust)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.12s
Running `target/debug/rust`
8
8の時は21, 10は55となる。
なんか不思議な感じがする。