超级台阶

来源:互联网 发布:纽易网络 编辑:程序博客网 时间:2024/05/01 06:05
超级台阶时间限制:1000 ms  |  内存限制:65535 KB难度:3描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。输出对于每个测试实例,请输出不同走法的数量。样例输入223样例输出12
个人理解:
1:从前面的台阶数寻找规律发现台阶数走法数量为前面两个台阶数走法数量之和2:设置数组储存走法数量
结果时间内存语言Accepted4240C/C++
#include<stdio.h>int main(){    int n;    scanf("%d",&n);//输入测试个数    while(n--)    {        int m,i,A[45];        scanf("%d",&m);//输入阶梯级数            A[0]=0;            A[1]=0;            A[2]=1;            A[3]=2;            for(i=4;i<45;i++)//根据规律写出公式            {                A[i]=A[i-1]+A[i-2];            }            printf("%d\n",A[m]);        }    return 0;}

原创粉丝点击