信息学奥赛一本通1188:菲波那契数列(2)

【C++算法】递推(斐波那契、上台阶问题)代码详解 例题来自于信奥一本通1188、1189、1190,C++实现递推算法-斐波那契数列、线性动态规划算法-上台阶问题,详细讲解,附带源码 阅读详情

1188:菲波那契数列(2)


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 70272     通过数: 26790

【题目描述】

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。

【输入】

第11行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1≤a≤1000000)。

【输出】

n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。

【输入样例】

4
5
2
19
1

【输出样例】

5
1
181
1

题解

 用递推,用b数组记录菲波那契数列的每一位求余1000的值,b1是当前b数组的最高位数,如果当前想要的位数比b数组最高位数还要高的话计算,更新b数组的最高位数,否则直接输出。计算每一位可以用前两位的值求余1000,防止最后结果过大超出int

源代码

#include<bits/stdc++.h>
using namespace std;
int n,a,b[1000001]={-1},b1=2;
int main()
{
	b[1]=b[2]=1;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a;
		if(a<=b1)
		{
			cout<<b[a]<<endl;
		}
		else
		{
			for(int i=b1+1;i<=a;i++)
			{
				b[i]=(b[i-1]+b[i-2])%1000;
			}
			cout<<b[a]<<endl;
			b1=a;
		}
	}
}

信息学奥赛一本通C++语言——1188:菲波那契数列(2) 【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 ≤ a ≤ 1000000)。 【输出】 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对10... 阅读详情

相关推荐

信息学奥赛一本通(C++版)第二部分 基础算法 第三章 递推算法

第三章 递推算法 本章内容小节 递推算法   递推算法 第一节 C++语言程序结构 T1312 : 昆虫繁殖 【题目描述】   科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵),问过Z个月以后,共有成虫多少对...

diaearth 2327

信息学奥赛一本通 1188:菲波那契数列(2) | OpenJudge NOI 2.3 1760:菲波那契数列(2)

【题目链接】 ybt 1188:菲波那契数列(2) OpenJudge NOI 2.3 1760:菲波那契数列(2) 【题目考点】 1. 求斐波那契数列 多种方法求斐波那契数列 【解题思路】 该题可能求到斐波那契数列第10610^6106项,那么可以选择迭代、递推等方法。 该题出现在递推的章节,那么主要关注用递推法解该题。 该题有多组询问。可以先求出斐波那契数列的前10610^6106项,然后针对每次询问取数组中的一项。 题目要求对结果取模1000,那么递推关系为:ai=(ai−1+ai−2)%1000a_

君义NOIP的博客 3868

c++递推算法

递推算法是一种用若干步可重复运算来描述复杂问题的方法。递推是序列计算中的一种常用算法。通常是通过计算前面的一些项来得出序列中的指定项的值。递推是按照一定的规律来计算序列中的每个项,通常是通过计算前面的一些项来得出序列中的指定项的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。

sxj_c的博客 410

1188:菲波那契数列(2)

【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 ≤ a ≤ 1000000)。 【输出】 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数...

C_Dreamy的博客 2099

算法-菲波那契数列(信息学奥赛一本通-T1188)(包含源程序).rar

算法-菲波那契数列(信息学奥赛一本通-T1188)(包含源程序).rar

函数递归练习(斐波那契数列,二分查找)

1.函数递归 1)问题规模大→划分小规模(如果没有问题规模,自己构建) 2)函数自己调用自己(体现问题规模不断缩小) 3)函数推出条件(防止死递归) 2斐波那契数列 public static int fibonacci(int n){ if(n==1||n==2){ return 1; } return fibonacci(n-1)+fibonacci(n-2); } public static void main(String[] args) { int reslut=fibonacci(9); System.out.println

信息学奥赛一本通:1188:菲波那契数列(2)

1188:菲波那契数列(2)菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。

ffsdfg的博客 2373

从芯片选型到光学集成:手持激光测距仪硬件设计全解析

本文全面解析手持激光测距仪的硬件设计,从芯片选型到光学集成,详细介绍了相位法测距技术的核心原理与方案选择。通过模块化设计、信号链路优化及PCB布局技巧,实现毫米级精度。文章还分享了量产化关键控制点,帮助工程师规避常见设计陷阱,提升产品可靠性。

weixin_30425949的博客 445

信息学奥赛一本通 1188:菲波那契数列(2) 递推算法

第11行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1≤a≤1000000)。n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。时间限制: 1000 ms 内存限制: 65536 KB。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。1188:菲波那契数列(2)

长春高老师编程 1495

如何入门强化学习

很多同学在入门强化学习的时候都会遇到困难,那我这里就简单介绍一下应该如何入门强化学习,并以开源代码为例详解强化学习实战。

seeksister的博客 3302

嵌套交叉验证的‘双循环’哲学:为什么你的模型评估总是不准?

本文深入探讨了嵌套交叉验证(Nested Cross-Validation)在机器学习模型评估中的关键作用,揭示了传统交叉验证方法存在的偏差问题。通过双重循环设计,嵌套交叉验证有效隔离数据,提供无偏评估,显著提升模型在真实场景中的性能预测准确性。文章还提供了工程实践中的优化策略和量化分析,帮助开发者在计算成本与评估精度之间找到平衡。

b3n4m5q6w7的博客 225

信息学奥赛一本通(1188:菲波那契数列2)

信息学奥赛一本通(1188:菲波那契数列2) 【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。 【输出】 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。 【样例输入】 4 5 2

weixin_44933408的博客 686

5分钟搞定!用Coze+剪映小助手批量生成萌宠视频(附完整工作流配置)

本文详细介绍了如何利用Coze工作流与剪映小助手快速批量生成萌宠视频的完整方案。通过智能内容生成、素材处理、剪辑组装和输出适配四大模块的协同,实现5分钟内完成高质量视频制作。特别适合多宠物账号运营者,工作流支持模板切换和参数修改,大幅提升内容生产效率。

weixin_28678151的博客 389

信息学奥赛一本通(1188:菲波那契数列(2))

1188:菲波那契数列(2) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 28381 通过数: 10379 【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。 【输...

1289

Minitab实战:用Weibull分布预测产品寿命的5个关键参数(附真实案例)

本文通过一个真实的电容器老化测试案例,详细介绍了如何运用Minitab软件进行Weibull分布分析,以预测产品寿命。文章深入解读了形状参数β、尺度参数η等五个关键参数的工程意义与商业价值,指导工程师从失效数据中提取洞察,并将其应用于可靠性评估、保修策略制定及成本预估等实际业务决策。

weixin_29231263的博客 520

破解雪球网acw_sc__v2加密与无限debugger反爬策略

本文详细解析了雪球网的反爬机制,重点破解了其核心的acw_sc__v2加密参数与无限debugger反调试策略。通过实战案例,从抓包分析、逆向调试到算法还原,提供了完整的Python代码实现,帮助开发者掌握应对类似加密反爬的通用方法。

weixin_29207533的博客 1897

菲波那契数列(2)(信息学奥赛一本通-1188)

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1≤a≤1000000)。n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。

2402_84298973的博客 305

Gmsh+OCC对应版本库编译

输入 GMSH_DLL_EXPORT值C:\LIB\OCCT-7_8_0-i;9、如果只是生成库文件编译gmesh工程即可生成文件在C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B\Debug 下gmsh.dll、gmsh.lib、gmsh.h、gmshc.h文件;3、CMAK编译Gmsh对应OCC版本的,CMAK选择源文件路径C:\LIB\Gmsh\gmsh-4.13.1-source,生成构建文件路径C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B。

u013401364的博客 411

信息学奥赛一本通|1188:菲波那契数列(2)

第11行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1≤a≤1000000)。n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。时间限制: 1000 ms 内存限制: 65536 KB。提交数: 44653 通过数: 16780。...

1gongziyue的博客 341

DaVinci Developer和DaVinci Configurator:AutoSAR开发与配置工具

a. 组件创建:DaVinci Developer允许开发人员创建不同类型的AutoSAR软件组件,如应用软件组件(Application Software Component,SWC)、基础软件组件(Basic Software Component,BSWC)等。除了以上功能,DaVinci Developer和DaVinci Configurator还提供了丰富的文档和代码生成功能,以支持开发人员和配置人员进行文档编写、代码生成和文档浏览等任务。用户可以根据具体需求对软件组件进行灵活的配置。

HmoaAmp的博客 2262

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

信息学奥赛一本通 1188:菲波那契数列(2) (耙耙)

http://ybt.ssoier.cn:8088/problem_show.php?pid=1188 #include<bits/stdc++.h> using namespace std; int a1,a2,a3; int n; int k; int main(){ freopen("cpp.in","r",stdin); freopen("cpp.out","w",std...

广东省清远市博爱学校—尚贤的博客 576

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

菲波那契数列(信息学奥赛一本通-T1188)

【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 ≤ a ≤ 1000000)。 【输出】 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中...

Alex_McAvoy的博客 8979

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

信息学奥赛一本通1188 斐波那契数列(2)

题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。 【输出】 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。 【输入样例】 4 5 2 19 1 【输出样

弹炒饭的博客 812

信息学奥赛一本通(C++版)第二部分 基础算法例题及课后题解

1310 【例2.2】车厢重组。1311 【例2.5】求逆序对。1186 出现次数超过一半的数。1176 谁考了第k名。1177 奇数单增序列。1181 整数奇偶排序。1184 明明的随机数。1180 分数线划定。1187 统计字符数。1178 成绩排序。1182 合影效果。1183 病人排队。1185 单词排序。1179 奖学金。

长春高老师编程 2992

C++信息学奥赛1188:菲波那契数列(2)

这段代码的作用是计算给定整数数组中每个元素的斐波那契数,并对结果取模1000后输出。首先,通过循环输入整数数组的元素。函数,计算每个元素对应的斐波那契数并取模1000。最后,输出每个元素的计算结果。个斐波那契数并取模1000的功能,使用了迭代的方式进行计算。为1或2,则直接返回1;

qq_45083002的博客 581

啊哈C语言 第6章 天啊 一大串数正在接近(第26讲)

啊哈C语言 第6章 天啊 一大串数正在接近(第26讲)

青少年趣味编程 648
上一篇: devc++跑酷小游戏底层讲解
下一篇: 信息学奥赛一本通1203:扩号匹配问题(栈)
Jsjjsnmsk
博客等级 码龄4年 548粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值