1 条题解
-
0
这段代码解决的是一个斐波那契数列变体问题。核心思路是预先计算斐波那契数列的前 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
- 上传者