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->");
}
}