问题 D: 【一本通基础递推】菲波那契数列(2)C++题解
问题 D: 【一本通基础递推】菲波那契数列(2)
[题目描述]
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 ≤ a ≤ 1000000)。
输出
n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。
样例输入
4 5 2 19 1
样例输出
5 1 181 1
本题思路:本题较简单,我们都知道斐波那契数列第一项为0, 第二项为1,而后项为前两项之和,算完之后,输出答案 % 1000即可,主要代码如下:
a[1] = 1, a[2] = 1;
for(i = 3; i <= 1000000; i++)
a[i] = (a[i - 1] + a[i - 2]) % 1000;
完整代码如下:
#include <stdio.h>
int a[1000100];
int main(){
int n, x, i;
a[1] = 1, a[2] = 1;
for(i = 3; i <= 1000000; i++)
a[i] = (a[i - 1] + a[i - 2]) % 1000;
scanf("%d", &n);
for(i = 1; i <= n; i++){
scanf("%d", &x);
printf("%d\n", a[x]);
}
return 0;
}
题解完毕!!!欢迎点赞评论收藏+关注,你的点赞是博主写完章最大的动力!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探