【暑期基础2】P HDU 2041 超级楼梯(递推)

来源:互联网 发布:mac如何导出图片 编辑:程序博客网 时间:2024/06/04 23:45

题意

有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?


思路

递推,根据前两个值求出第三个值……不断重复求出所有的值,然后根据索引来取出对应的值。避免溢出,使用了 __int64 这个数据类型。


AC 代码 *

#include <stdio.h>int main() {    int m, n,i;    __int64 a[41]={1,1,2};    for(i = 3; i < 41; i++) {        a[i] = a[i - 1] + a[i - 2];    }    scanf("%d\n", &n);    while ( n-- ) {        scanf("%d", &m);        m--;        printf("%I64d\n",a[m]);    }    return 0;}

* 注:在 HUST 的 Virtual Judge 上测试 AC

0 0