初级算法——39级台阶(蓝桥杯)

如果我每一步迈上 1 个或两个台阶,先迈左脚,然后左右交换,最后一步迈右脚,上完 39 级台阶,有多少种不同的方法。

 

思路:因为最后一步迈右脚,所以步数一定是偶数。其次,我们可以不断地递归来完成该算法

 

 

#include<stdio.h>

int total = 0;

int Sum(int num,int step)
{
if(num < 0)
return 0;

if(num == 0 && step%2 == 0)
{
total ++;

return 0;
}

Sum(num-1,step++);
Sum(num-2,step++);

}

int main()
{
int n;
printf("Enter n:");
scanf("%d",&n);

Sum(n,0);

printf("%d",total);

return 0;
}

posted @ 2018-11-13 22:41  JAYPARK01  阅读(596)  评论(0编辑  收藏  举报