斐波那契数列定义:
F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
递归版本
fn fib(n: u64) -> u64 {
if n == 0 {
return 1;
}
if n == 1 {
return 1;
}
return fib(n-1) + fib(n-2);
}
循环版本
fn fib(n: u64) -> u64 {
if n == 0 {
return 1;
}
if n == 1 {
return 1;
}
let mut last1: u64 = 1;
let mut last2: u64 = 1;
let mut cur: u64 = 0;
for _i in 3..=n { // 变量命名使用下划线_开头,不会报未使用警告
cur = last1 + last2;
last2 = last1;
last1 = cur;
}
return cur;
}