台阶有关问题
求助台阶问题
问题是39级台阶,先迈左脚,一次一步或者两步,最后右脚登顶。
问有多少种走法
结果是这么大么?
------解决方案--------------------
把台阶设小一点,看和理论是否一样。还有就是调试一下,看程序执行的顺序就知道是不是想要的结果了。
#include<stdio.h>
int sum=0;
void fun(int i,int b)//i表示当前台阶数 b表示已经走了几步
{
if(i==40)return;
if(i==39){
if(b%2==0)
sum++;
return;
}
fun(i+1,b+1);
fun(i+2,b+1);
return ;
}
int main()
{
fun(0,0);
printf("%d",sum);
return 0;
}
问题是39级台阶,先迈左脚,一次一步或者两步,最后右脚登顶。
问有多少种走法
结果是这么大么?
C
------解决方案--------------------
把台阶设小一点,看和理论是否一样。还有就是调试一下,看程序执行的顺序就知道是不是想要的结果了。