#include<stdio.h>
#define N 20
int stair(int n)
{
if(n<0)
return 0;
if(n==0)
return 1;
if(n==1)
return 1;
else
return stair(n-1)+stair(n-2)+stair(n-3);//第n层是第n-1层和第n-2层和第n-3层的和
}
int main()
{
stair(N);
printf("%d\n",stair(N));
return 0;
}
#define N 20
int stair(int n)
{
if(n<0)
return 0;
if(n==0)
return 1;
if(n==1)
return 1;
else
return stair(n-1)+stair(n-2)+stair(n-3);//第n层是第n-1层和第n-2层和第n-3层的和
}
int main()
{
stair(N);
printf("%d\n",stair(N));
return 0;
}
楼梯问题:到第n层有多少种走法 ,你只能一次走一层or二层or三层