フィボナッチは再起的に計算を行う。
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となる。
なんか不思議な感じがする。