问题描述:
代码实现:
#include<iostream>
using namespace std;
#include<vector>
int computer(int n)
{
if(n==0)
{
return 0;
}
else if(n==1)
{
return 1;
}
else//n大于等于2的情况
{
int result1,result2;
result1=computer(n-2);
result2=computer(n-1);
int result=result1+result2;
return result;
}
}
int main() {
int n;
cin>>n;
int result=computer(n);
cout<<result<<endl;
}
效果展示:
思路分析:
核心的实现思想就是递归调用,其中,当n=0和n=1代表递归调用的尽头,其他情况下的值需要不断调用computer(n-2)和computer(n-1).
好啦,希望能够帮助到大家!