分析
第一个台阶 1 第二个台阶 11 2 //走两次1步或者走1次两步 第三个台阶 111 12 21 3 第四个台阶 1111 112 121 211 22 13 31 f(n)=f(n-1)+f(n-2)+f(n-3) 第n个台阶的可能 = n-1台阶的可能+n-2台阶的可能+n-3台阶的可能
我这里采用了递归算法
//param x 台阶数目
int goadd(
int x)
{
if (x == 1
){
return 1
;
}
else if (x == 2
){
return 2
;
}
else if (x == 3
){
return 4
;
}
else{
return goadd(x - 1) + goadd(x-2)+goadd(x-3
);
}
}
void main()
{
printf("%d", goadd(5
));
getchar();
}
转载请注明原文地址: https://ju.6miu.com/read-663694.html