问题描述
一个楼梯有20级,每次走1级或两级,请问从底走到顶一共有多少种走法?
分析:假设从底走到第n级的走法有f(n)种,走到第n级有两个方法,一个是从(n-1)级走一步,另一个是从第(n-2)级走两步,前者有f(n-1)种方法,后者有f(n-2)种方法,所以有f(n)=f(n-1)+f(n-2),还有f(0)=1,f(1)=1. 递归编程实现 程序1 #include <stdio.h> int f(int n) { if(n==0 || n==1) return 1;
问题描述
一个楼梯有20级,每次走1级或两级,请问从底走到顶一共有多少种走法?
分析:假设从底走到第n级的走法有f(n)种,走到第n级有两个方法,一个是从(n-1)级走一步,另一个是从第(n-2)级走两步,前者有f(n-1)种方法,后者有f(n-2)种方法,所以有f(n)=f(n-1)+f(n-2),还有f(0)=1,f(1)=1. 递归编程实现 程序1 #include <stdio.h> int f(int n) { if(n==0 || n==1) return 1;