走台阶问题

xiaoxiao2021-02-28  19

题目:

               一共有n列台阶,每次只能走1步或者2步,问有多少种方法可以走到顶部?

问题分析:每次只能走1步或2步,当走1步的时候剩下的台阶数为n-1,当走2步时候剩下的台阶数为n-2,不论是选择了走1步还是走2步下次走的时候还是有两种选择,所以用递归来处理。

代码:

#include <stdio.h> int compute(int n) { if(n<0) //当剩下的步数低于0的时候说明此方法不可行 return 0; if(n==1) //当剩下1个台阶的时候有一种走法 return 1; if(n==2) //当剩下2个台阶的时候有两种走法 return 2; return compute(n-1) + compute(n-2); //每次有两种选择,1或2,选择后又会出现两种选择 } int main() { printf("%d",compute(5)); return 0; }
转载请注明原文地址: https://www.6miu.com/read-2450126.html

最新回复(0)