题目链接
题意:
给出,求出斐波那契数列第n项,值取余
思路:
斐波那契数列递推公式为:
特判的情况
对于其他情况,for循环求就可以。
假设就是答案,
是前两项,
是前一项。
每次先求出,然后让
。这样在下一次循环里,
就是前两项的值了。
代码:
class Solution {
public:
int mod=1000000007;
int fib(int n) {
int a=0,b=1,c=0;
if(n==0) return 0;
if(n==1) return 1;
for(int i=2;i<=n;i++){
c=(a+b)%mod;
a=b;b=c;
}
return c;
}
};