1 条题解

  • 0
    @ 2025-5-4 9:06:00

    这段代码解决的是一个斐波那契数列变体问题。核心思路是预先计算斐波那契数列的前 45 项,然后根据输入的查询值快速输出对应项的值。斐波那契数列预计算:使用数组 ans 存储斐波那契数列的前 45 项。初始条件:ans[0]=1,ans[1]=2,ans[2]=3。递推公式:从第 3 项开始,每一项等于前两项之和。查询处理:读取查询次数 n。对于每个查询 k,直接输出 ans[k] 的值。

    #include <stdio.h>
    
    int
    main() {
        int n, k, i;
        int ans[50] = {1, 2, 3};
    
        for( i = 3; i < 45; i++ ) {
            ans[i] = ans[i - 1] + ans[i - 2];
        }
        scanf("%d", &n);
        for( i = 1; i <= n; i++ ) {
            scanf("%d", &k);
            printf("Scenario #%d:\n%d\n\n", i, ans[k]);
        }
    
        return 0;
    }
    
    
    
    • 1

    信息

    ID
    954
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者