问题描述:N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。
输入:
输入包括一个整数N,(1<=N<90)。
输出:
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
思路:此题可以用倒推的思想,试想到了N-1阶台阶时有1种方法,N-2阶台阶时有2种方法,N-3阶台阶时有前两种之和的方法。
import java.util.*;
public class Main {
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
while(true)
{
String str = sc.nextLine();
if(str.equals(""))
{
break;
}
int a = Integer.parseInt(str);
System.out.println(dp(a));
sc.close();
}
}
public static int dp(int n)
{
if(n==1||n==2)
{
return n ;
}
else
{
return dp(n-1)+dp(n-2);
}
}
}