文章
79
粉丝
221
获赞
46
访问
202.2k
#include <iostream>
using namespace std;
int Fib(int n){
if(n<=2)
return n;
return Fib(n-1)+Fib(n-2);
}
int main() {
int n;
while(cin>>n)
cout<<Fib(n)<<endl;
return 0;
}
找规律发现:要看n个糖有几种吃法,假设n-1个糖有x1种吃法,n-2个糖有x2种吃法,那么n个糖就有x1+x2种吃法,因为吃了n-1块糖果之后只能选择把剩余的1个糖果吃掉,而吃了n-2块糖果之后只能选择把剩余的2个糖果吃掉。其为斐波那契数列,Fib(n)=Fib(n-1)+Fib(n-2),且n==1或n==2时Fib(n)=n。
登录后发布评论
暂无评论,来抢沙发