解析:递归有两个tips,一是找公式,二是循环结束条件
这里问题的解释:每一次都有两种选择,
recursive(a-1)+ recursive(a-2)
这样嵌套下去,把每一次的走法都分出来再相加,就是n步的总选择了
#include <stdio.h>
int recursive(int a)
{
if(1==a||2==a)
{
return a;
}
return a= recursive(a-1)+ recursive(a-2);
}
int main() {
int n;
scanf("%d",&n);
printf("%d",recursive(n));
return 0;
}