主题:【纪事】失败的苹果面试(上) -- landlord
共:💬133 🌺776
递归:
int fib(int n)
{
if (n <= 0) {
错误,返回;
}
if (n==1){
return 1;
}
else if (n == 2) {
return 2;
}
else {
return fib(n-1)+fib(n-2);
}
}
循环:
int fib(int n)
{
if (n <= 0) {
错误,返回;
}
if (n == 1) return 1;
if (n == 2) return 2;
int a = 1, b = 2, r = 0;
for (int i = 3; i <= n; i++)
{
r = a + b;
a = b;
b = r;
}
return r;
}