场景:
求斐波那契的两种方法,很巧妙值得写下
方法一
int fib(int month) {
if (month == 1 | month == 2)
{
return 1;
}
int a = 1;
int s = 1;
int temp = 0;
for (size_t i = 3; i< month+1; i++)
{
temp = s;
s = a + s;
a = temp;
}
return s;
}
巧妙之处在于,a=a+s,s=a+s;
方法二
int fib(int n) {
if (n < 2) {
return n;
}
else {
return fib(n - 1) + fib(n - 2);
}
}
最简单的递归数列