小明刚刚开完电影《第k级台阶》,离开电影院的时候,他数了数礼堂的台阶数,站在台阶前,他突然想起一个问题:
如果一部只能迈上一个或者两个台阶,先迈左脚,然后左右脚,最后一步是右脚,也就是说一定要走偶数步,那么上完台阶有多少种方法?
import java.util.Scanner;
public class Main {
static int count=0;//这个是一共多少的方法
static int num; //这个是你输入的台阶数
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int k=sc.nextInt();
num=k;
dfs(0,0);
System.out.println(count);
}
public static void dfs(int n,int m) {
if(n>num)
return;
else if((n==num)&&m%2==0) { //当爬完台阶数,并且步数为偶数时,就记一次数
count++;
}
dfs(n+1,m+1); //n是现在爬了多少个台阶,m是次数,已经走的步数
dfs(n+2,m+1);
}
}