走楼梯Ⅱ
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
有一楼梯共N+1级,刚开始时你在第一级,若每次能走M级(1<=M<=N),要走上第N+1级,共有多少种走法?(不可以后退)
Output:
对应每个测试案例,输出走上一个n+1级的台阶总共有多少种方法,每个输出占一行。
Sample Output:
32
解题思路:这题跟在牛客网比赛的那题跳台阶一样,差别就是这题给出的n比较大,早就爆long long了,所以需要高精度模拟,java大数水过!!!找规律详解在这里:第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 A-跳台阶
AC代码:
1 import java.util.Scanner;
2 import java.math.BigInteger;
3 public class Main {
4 public static void main(String[] args) {
5 Scanner scan = new Scanner(System.in);
6 BigInteger a = new BigInteger("2") ;
7 while(scan.hasNext()){
8 int n=scan.nextInt();
9 System.out.println(a.pow(n-1));
10 }
11 }
12 }