Rust实现斐波那契数列

代码实现:

fn fibonacci(n: u32) -> u32 {
    if n == 1 { 1 }
    else if n == 2 { 1 }
    else { fibonacci(n-1) + fibonacci(n-2) }
}

测试:

use std::io;

fn main() {
    // 生成 n 阶斐波那契数列。
    println!("输入 n :");
    let mut inp:String = String::new();
    io::stdin().read_line(&mut inp).expect("input error!");
    let inp: u32 = inp.trim().parse().unwrap();

    println!("{}阶斐波那契数列: {}", inp, fibonacci(inp));
}
fn fibonacci(n: u32) -> u32 {
    if n == 1 { 1 }
    else if n == 2 { 1 }
    else { fibonacci(n-1) + fibonacci(n-2) }
}

输出:

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
0%