fnfibonacci(n: u32) ->u32 { if n == 1 { 1 } elseif n == 2 { 1 } else { fibonacci(n-1) + fibonacci(n-2) } }
测试:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use std::io;
fnmain() { // 生成 n 阶斐波那契数列。 println!("输入 n :"); letmut inp:String = String::new(); io::stdin().read_line(&mut inp).expect("input error!"); letinp: u32 = inp.trim().parse().unwrap();
println!("{}阶斐波那契数列: {}", inp, fibonacci(inp)); } fnfibonacci(n: u32) ->u32 { if n == 1 { 1 } elseif n == 2 { 1 } else { fibonacci(n-1) + fibonacci(n-2) } }
输出:
1 2 3 4 5 6
F:\rust\learn-repo\guessing_game>cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.04s Running `target\debug\guessing_game.exe` 输入 n : 10 10阶斐波那契数列: 55