@递归问题
题目:小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。
仅作参考代码
static int f(int n)
{ //上楼梯,可以走1|2|3|4步数,直到走完楼梯
if(n==0)return 0;//没有台阶,没有走法。返回 0
if(n==1)return 1;
if(n==2)return 2;
if(n==3)return 4;//剩余3个台阶,有4种走法,返回4
return f(n-1)+f(n-2)+f(n-3);
}
方法分析
我们只用算出剩余1,2,3个楼梯时,到达楼梯顶的走法。其他的交给计算机处理。
【以上仅做参考,如有纰漏,欢迎补充】