超级楼梯 --斐波那契数列
2017-10-17 09:21
169 查看
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output对于每个测试实例,请输出不同走法的数量
Sample Input
Sample Output
import java.util.*;
public class Main {
static Scanner in = new Scanner(System.in);
static int m, n, k, sum = 0, cnt;
static int[] fab = new int[45];
static void init(){
fab[0]=0;fab[1]=1;
for (int i = 2; i < 41; i++) {
fab[i]=fab[i-1]+fab[i-2];
}
}
public static void main(String[] args) {
init();
int n = in.nextInt();
while(n-->0){
m = in.nextInt();
System.out.println(fab[m]);
}
}
}
分析:关键句:每次只能走一步或者两步,其实就是斐波那契数列的特点,构造一个符合题意的数列即可
Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output对于每个测试实例,请输出不同走法的数量
Sample Input
2 2 3
Sample Output
12
import java.util.*;
public class Main {
static Scanner in = new Scanner(System.in);
static int m, n, k, sum = 0, cnt;
static int[] fab = new int[45];
static void init(){
fab[0]=0;fab[1]=1;
for (int i = 2; i < 41; i++) {
fab[i]=fab[i-1]+fab[i-2];
}
}
public static void main(String[] args) {
init();
int n = in.nextInt();
while(n-->0){
m = in.nextInt();
System.out.println(fab[m]);
}
}
}
分析:关键句:每次只能走一步或者两步,其实就是斐波那契数列的特点,构造一个符合题意的数列即可
相关文章推荐
- 超级楼梯(斐波那契数列应用)
- HD2041 超级楼梯【斐波那契数列】
- ACMSTEP 3.1.1 超级楼梯 //递推 斐波那契数列
- HDU-2041 - 超级楼梯 - 斐波那契数列
- 超级楼梯 (递归/斐波那契数列)
- HDU 2041 超级楼梯(斐波那契数列)
- 超级楼梯-斐波那契数列的运用
- 15HD_OJ——超级楼梯(斐波那契数列)
- O - 超级楼梯 (斐波那契数列应用)
- 【暑期基础2】P HDU 2041 超级楼梯(递推)
- HDU 2041 超级楼梯
- HDOJ2041 超级楼梯(dp & 打表)
- hdoj 2041超级楼梯 解题报告(递推题)
- 杭电acm2041 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯(递推)
- 超级楼梯
- hdu2041 超级楼梯(C语言)
- hdu 2041 超级楼梯
- 超级楼梯