问题描述

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式
输入包含一个整数n。

输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。

样例输入
10
样例输出
55
样例输入
22
样例输出
7704


  • 分析思路:

Fibonacci数列,计算到后面出现指数级别的增长,所以要对它进行取模运算
有两种方法:
1.先整体计算后取模,(f(n-1)+f(n-2))%mod;

2.先进行分别取模,之后再取模f(n-1)%mod+f(n-2)%mod;

具体选哪个,看数据范围要求

  • 代码:
#include<iostream>
using namespace std;const int N=1000010;
int f(int n){if(n==1||n==2) return 1;return f(n-1)%10007+f(n-2)%10007;
}int main(){int n;cin>>n;cout<<f(n);return 0;}

运行超时,内存空间超出限制,采用下面代码

  • 正确代码:

采用数组,不会超时,时间复杂度也变为O(n)

#include<iostream>
using namespace std;int main()
{int n;cin>>n;long long f[n];f[0] = 0,f[1] = 1;for(int i=2;i<=n;i++){f[i] = (f[i-2]+f[i-1])%10007;}cout<<f[n]<<endl;return 0;
}

试题1 入门训练 Fibonacci数列相关推荐

  1. 试题 入门训练 Fibonacci数列

    试题 入门训练 Fibonacci数列 提交此题 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. ...

  2. 入门训练 Fibonacci数列-python实现

    入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大 ...

  3. 入门训练 Fibonacci数列 c语言

    入门训练 Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多 ...

  4. 入门训练 Fibonacci数列

    http://lx.lanqiao.org/problem.page?gpid=T4 入门训练 Fibonacci数列   时间限制:1.0s   内存限制:256.0MB 问题描述 Fibonacc ...

  5. 蓝桥杯练习题Java实现 入门训练 Fibonacci数列

    蓝桥杯练习题Java实现 入门训练 Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,F ...

  6. 【c语言】蓝桥杯入门训练 Fibonacci数列

    [问题描述] Fibonacci数列的递推公式为:Fn=F(n-1)+F(n-2),其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. [输入格式] 输 ...

  7. 蓝桥杯入门训练Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  8. 蓝桥杯 入门训练 Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  9. [Java] 蓝桥杯 BEGIN-4 入门训练 Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

最新文章

  1. 网络工程师_记录的一些真题_2017下半年上午
  2. Macbook外接显示器模糊解决方法
  3. 使用sshfs挂载linux远程服务器目录到windows
  4. 那天我去逛街,发现连大编程语言都摆起地摊了……
  5. 基于病害区域图像的植物病害识别深度学习(创新点好理解)
  6. 单片机c语言音符发生,单片机C语言程序的设计实训100例基于8051Proteus仿真.doc
  7. 2018年【计算机视觉+机器学习+人工智能】领域重要会议汇总
  8. 【Java】01 初识 Java
  9. Java笔试面试(社招版)
  10. java内存模型作用是什么意思_JMM(Java内存模型)是什么?为什么使用并发?
  11. 围绕边框宽度的html,设置围绕表格的边框宽度的HTML代码是?
  12. 计算机应用700字自我鉴定,有关计算机应用自我鉴定
  13. 后台弹窗,弹窗跳转页面
  14. Base64与图片之间互相转换
  15. shell 脚本批量检测主机存活状态
  16. 七段数码管的显示 滚动显示
  17. WinImage 8.5版本制作任意容量的ima或img磁盘文件
  18. Java集合之Set去重
  19. eclipse下搭建SWT图形界面开发环境
  20. 企业数字化转型的核心是什么?如何才能真正做到数字化转型?

热门文章

  1. python自动化办公excel-自动化办公:python操作Excel
  2. python免费全套教程-2020全网 最详细的Python入门教程完整版,无偿分享,收藏
  3. python从入门到放弃-python从入门到放弃--day1
  4. python是什么-马哥教育官网-专业Linux培训班,Python培训机构
  5. 智能语音识别究竟是如何实现的?
  6. JS中的语音识别——Speech Recognition API
  7. elementUI 学习入门之 Button 按钮
  8. Function的常用属性和方法
  9. Media Player Classic - HC 源代码分析 5:关于对话框 (CAboutDlg)
  10. 表必须要有主键吗_玄关隔断什么材质好?玄关隔断必须要做吗