生成第 n 个斐波那契数列。

斐波那契数列的概念是:F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2)

fn fib(n:u64)->u64{
if n == 0 {
0
}else if n == 1 {
1
}else {
let mut a:u64 = 0;
let mut b:u64 = 1;
for _ in 2..=n{
let c = a+b;
a = b;
b = c;
}
b
}
}

还有一种更简单的方法:使用match匹配,在 Rust 中,match 是一个控制流运算符,用于模式匹配(pattern matching)。它类似于其他语言中的 switch 语句,但功能更强大、更安全。

fn fib(n: u64) -> u64 {
match n {
0 => 0, // 精确匹配 F₀
1 => 1, // 精确匹配 F₁
_ => { // 通配符:匹配所有 ≥2 的值
let (mut a, mut b) = (0u64, 1u64);
for _ in 2..=n {
let c = a + b;
a = b;
b = c;
}
b
}
}
}