【题目链接】

ybt 1188:菲波那契数列(2)
OpenJudge NOI 2.3 1760:菲波那契数列(2)

【题目考点】

1. 求斐波那契数列

多种方法求斐波那契数列

【解题思路】

该题可能求到斐波那契数列第10610^6106项,那么可以选择迭代、递推等方法。
该题出现在递推的章节,那么主要关注用递推法解该题。
该题有多组询问。可以先求出斐波那契数列的前10610^6106项,然后针对每次询问取数组中的一项。

题目要求对结果取模1000,那么递推关系为:ai=(ai−1+ai−2)%1000a_i = (a_{i-1}+a_{i-2})\%1000ai​=(ai−1​+ai−2​)%1000,每次计算后都取模1000即可。

【题解代码】

解法1:递推

#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{int n, x; a[1] = a[2] = 1;for(int i = 3; i <= 1000000; ++i)//先求出斐波那契数列前1000000项 a[i] = (a[i-1]+a[i-2])%1000;cin >> n;for(int i = 1; i <= n; ++i)//n次询问 {cin >> x;cout << a[x] << endl;}return 0;
}

解法2:迭代

#include<bits/stdc++.h>
using namespace std;
int main()
{int ct, p;cin >> ct;for(int i = 1; i <= ct; ++i){cin >> p;if(p <= 2)cout << 1 << endl;else {int a = 1, b = 1, t;for(int j = 3; j <= p; ++j){t = b;b = (a + b) % 1000;a = t;}cout << b << endl;}}return 0;
}

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

  1. 信息学奥赛一本通 1245:不重复地输出数 | OpenJudge NOI 1.11 08:不重复地输出数

    [题目链接] ybt 1245:不重复地输出数 OpenJudge NOI 1.11 08:不重复地输出数 [题目考点] 1. 二分查找 2. 复杂度为O(nlogn)的排序 快速排序:时间复杂度O( ...

  2. 信息学奥赛一本通 1170:计算2的N次方 | OpenJudge NOI 1.6 12:计算2的N次方

    [题目链接] ybt 1170:计算2的N次方 OpenJudge NOI 1.6 12:计算2的N次方 [题目考点] 1. 高精度 考察:高精乘低精 高精度计算讲解 2. 快速幂 [解题思路] 先估 ...

  3. 信息学奥赛一本通 1411:区间内的真素数 | OpenJudge NOI 1.13 23:区间内的真素数

    [题目链接] ybt 1411:区间内的真素数 OpenJudge NOI 1.13 23:区间内的真素数 [题目考点] 1. 质数 2. 数字拆分 [解题思路] 设函数判断一个数是否是质数 设函数求 ...

  4. 信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827

    [题目链接] ybt 1405:质数的和与积 OpenJudge NOI 2.1 7827:质数的和与积 OpenJudge NOI 小学奥数 7827:质数的和与积 [题目考点] 1. 枚举 [解题 ...

  5. 信息学奥赛一本通 1397:简单算术表达式求值 | OpenJudge NOI 1.12 01:简单算术表达式求值

    [题目链接] ybt 1397:简单算术表达式求值 OpenJudge NOI 1.12 01:简单算术表达式求值 [题目考点] 1. 函数 2. 选择结构 [解题思路] 这一章节都是练习函数,那么这 ...

  6. 信息学奥赛一本通 1147:最高分数的学生姓名 | OpenJudge NOI 1.9 02:输出最高分数的学生姓名

    [题目链接] ybt 1147:最高分数的学生姓名 OpenJudge NOI 1.9 02:输出最高分数的学生姓名 [题目考点] 1. 结构体 2. 求最大值下标 [题解代码] 解法1:用结构体 设 ...

  7. 信息学奥赛一本通 1120:同行列对角线的格 | OpenJudge NOI 1.8 02:同行列对角线的格子

    [题目链接] ybt 1120:同行列对角线的格 OpenJudge NOI 1.8 02:同行列对角线的格子 [题目考点] 1. 二维数组 [解题思路] 解法1:移动焦点 设焦点起始位置,每移动一次 ...

  8. 信息学奥赛一本通 1112:最大值和最小值的差 | OpenJudge NOI 1.9 05

    [题目链接] ybt 1112:最大值和最小值的差 OpenJudge NOI 1.9 05:最大值和最小值的差 [题目考点] 1. 求数组中最大值及其下标 方法1:保存最大值和下标 设置临时最大值变 ...

  9. 信息学奥赛一本通 1105:数组逆序重存放 | OpenJudge NOI 1.6 04

    [题目链接] ybt 1105:数组逆序重存放 OpenJudge NOI 1.6 04:数组逆序重放 [题目考点] 1. 数组 数组有两种存储方式 将数组存储在下标为0 ~ n-1的位置 将数组存在 ...

最新文章

  1. c++语言文件流,C++ IO类、文件输入输出、string流详细讲解
  2. 如何在零停机的情况下迁移 Kubernetes 集群
  3. live555 源码分析: PLAY 的处理
  4. 2013年 833c语言程序 江南大学 (A卷)
  5. 马云卸任,张勇宣布未来五年目标:消费规模10万亿;华为发布基于5G和AI解决方案;新iPhone不支持5G 库克:市场不成熟……...
  6. 嵌入式Linux系统编程学习之十七计时器与信号
  7. ​php mysql 图书管理系统网页毕业设计成品
  8. php syslog服务器,Linux Syslog日志服务器的搭建
  9. Android高手进阶:Adapter深入理解与优化
  10. 安卓pdf阅读器_想找可以安装APP的电子书阅读器?BOOX这几个型号可以选!
  11. 四川省泸州市蓝田科三流程细节
  12. 海内外弟子追思百岁国医大师邓铁涛
  13. 麻油是什么,怎么用?
  14. 看脸、听话,飞猪未来酒店就是这么好住
  15. 成都梵羽汇:抖音任务中心如何操作呢?
  16. Android应用市场平台应用认领
  17. 04741计算机网络原理2018年版-第八章 网络安全基础 知识要点
  18. Component name “xxx“ should always be multi-word. vue3项目eslint报错
  19. 超入门级-基于中值滤波处理ECG信号的基线漂移-Python-MIT-BIH数据集
  20. 【STM8L】Active-Halt模式下的低功耗

热门文章

  1. 判断应用程序是否是当前激活程序(获得焦点的程序)
  2. [翻译] AFDropdownNotification
  3. servlet乱码问题
  4. sql如何取某年某月的第一天和最后一天
  5. 取出重复记录的第一条
  6. the future of real-time rendering hardware
  7. 从Eclipse切换到IDEA后需要做的事情
  8. jeecg开源项目的IDEA的部署
  9. 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(52)-美化EasyUI皮肤和图标
  10. 微信和钉钉电脑客户端多开的解决方法(Windows 10)