爬台阶问题
package com.viking.dynamic;/** * * @author viking * * 有n步台阶,一次只能上1步或者2步,求一共有多少中走法 * * f(n)=f(n-1)+f(n-2) * * f(1)=1 f(2)=2 */public class Step {public static void main(String[] args) {int n = 10;int s = steps(n, n+"=");System.out.println(s);}public static int steps(int n, String path) {if (n == 1) {System.out.println(path+"1");return 1;}if (n == 2) {System.out.println(path+"1->1");System.out.println(path+"2");return 2;}return steps(n - 1,path+"1->") + steps(n - 2,path+"2->");}}