斐波那契数列

时间限制: 1000ms 内存限制: 65536KB

问题描述

“斐波那契数列”的发明者,是意大利数学家列昂纳多?斐波那契(生于公元1170年,籍贯大概是比萨,卒于1240年后)。他还被人称作“比萨的列昂纳多”。1202年,他撰写了《珠算原理》一书。

斐波那契数列衍生于《珠算原理》中的一道题目:

某人把一对兔子放入一个四面被高墙围住的地方。假设每对兔子每月能生下一对小兔,而每对新生小兔从第二个月开始又具备生育能力,请问:一年后应有多少对兔子?

正如丹?布朗对我们所言,答案就是0,1,1,2,3,5,8,13,21,然后可按34,55……一直排列下去。(从第三位起)每位数都是前两位数之和,这是欧洲人所知的第一个此类数列。

斐波那契数数列可表示为0、1、1、2、3... ( N1=0,N2=1 Ni=Ni-1+Ni-2 )

给定i计算斐波那契数列第Ni项最后7位数字.

输入描述

第一行有一个正整数N表示下边有N个情况需要你去计算。

接下来的N行每行有一个正整数i,表示计算第Ni项的最后7位数字。

其中( 1 ≤ i ≤ 1000000 )

输出描述

输出N行计算结果

样例输入

4

5

6

7

10

样例输出

3

5

8

34

问题分析

  对于每次输入的i,若调用一次计算函数,那么重复计算就太多了。所以,打表是必须的。

  每一项求的是最后7位数,就用模除,数值就不太大了。

程序说明

  函数setfib()的功能是计算斐波那契数列的各个项,计算结果放入表中。

  需要注意元素的个数,定义数组fib[]时,那个“+1”是必要的。

参考链接:(略)

AC的C++语言程序如下:

#include <iostream>using namespace std;const int MOD = 10000000;
const int N = 1000000;
int fib[N+1];void setfib(int n)
{fib[1] = 0;fib[2] = 1;for(int i=3; i<=n; i++)fib[i] = (fib[i - 2] + fib[i - 1]) % MOD;
}int main()
{int n, i;setfib(N);cin >> n;while(n--) {cin >> i;cout << fib[i] << endl;}return 0;
}

NUC1016 斐波那契数列【打表】相关推荐

  1. 超级台阶 动态规划+斐波那契数列+打表(水题)

    描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法. 输入 输入数据首先包含一个整数n(1<=n<=100), ...

  2. python基础练习题(按条件对指定序列求和,打印99乘法表、求斐波那契数列、百马百担、求水仙花数、求n以内的所有质数(素数)和)、集合的讲解、一些公关方法

    1.求100(含100)以内所有偶数的和 range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和 ...

  3. python打九九乘法表上三角下三角_python经典练习题之九九乘法表、打印菱形、打印对顶三角形、斐波拉契数列、素数......

    CSDN 双十一 活动优惠提前抢!全站好课1元起,万券齐发折上折! 11.11 超值膨胀金[10元抵100元]限量发放!11月11日当天全站通用,更有机会享受折上折优惠!仅限299份,先到先得! 学学 ...

  4. python打九九乘法表上三角下三角_Python-零基础自学系列之九九乘法表、打印菱形、打印对顶三角形、打印闪电、斐波拉契数列、素数...

    刚开学学习简单的练习,学到后面会有越来越多的解法来写! 作业的目的是为了让大家熟悉程序语言,锻炼将思路转换成程序逻辑. 九九乘法表 help(print) 先思考能不能打印出方阵 # 1 方阵 # 1 ...

  5. python打九九乘法表上三角下三角_python经典练习题之九九乘法表、打印菱形、打印对顶三角形、斐波拉契数列、素数... - 小黑电脑...

    学学习简单的练习,学到后面会有越来越多的解法来写! 作业的目的是为了让大家熟悉程序语言,锻炼将思路转换成程序逻辑. 九九乘法表 help(print) 先思考能不能打印出方阵 # 1 方阵 # 1 方 ...

  6. Python基础练习题(按条件对指定序列求和,打印99乘法表、求斐波那契数列、百马百担、求水仙花数、求n以内的所有质数(素数)和)

    1.求100(含100)以内所有偶数的和 range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和 ...

  7. 算法(1)斐波那契数列

    1.0 问题描述 实现斐波那契数列,求第N项的值 2.0 问题分析 斐波那契数列最简单的方法是使用递归,递归和查表法同时使用,可以降低复杂度. 根据数列特点,同时进行计算的数值其实只有3个,所以可以使 ...

  8. ACM_无聊者序列(斐波那契数列大数取余(同余)+规律)

    Problem Description: 瓜瓜在玩着由红色和蓝色的大理石做成的玻璃珠,他将n个玻璃珠从左到右排成一个序列叫做无聊者序列.一个非空的红色和蓝色玻璃珠组成的序列是一个无聊者序列.这个序列的 ...

  9. Xorequ(BZOJ3329+数位DP+斐波那契数列)

    题目链接 传送门 思路 由\(a\bigoplus b=c\rightarrow a=c\bigoplus b\)得原式可化为\(x\bigoplus 2x=3x\). 又异或是不进位加法,且\(2x ...

最新文章

  1. 图解 wp WordPress 文章 链接 在新窗口打开
  2. mysql扩展中如何处理结果集_我们如何处理MySQL存储过程中的结果集?
  3. 为什么重写equals一定要重写hashCode方法?
  4. Mac是大脑,iPad是四肢 如何实现的呢?右键而已
  5. 拓扑排序杭电 1285确定比赛名次
  6. 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令
  7. Struts2源码阅读(六)_ActionProxyActionInvocation
  8. 【恋上数据结构】归并排序 + LeetCode真题
  9. 那年学过的Web前端笔记
  10. 持续集成工具 jenkins 实践
  11. CSS样式的简单使用
  12. mysql join 去重_对mysql left join 出现的重复结果去重
  13. (附源码)计算机毕业设计ssm-高校科研信息管理系统
  14. 《前端》eval函数
  15. GetTickCount 得到时间进行比较计算遇到的异常
  16. Windows + Ubuntu20.04双系统详细安装教程
  17. 安卓开发者中心!那些BAT大厂的Android面试官到底在想些什么?持续更新中
  18. Android 平板应用隐藏状态栏和底下的导航栏(navigation bar)
  19. Protege使用快速入门
  20. 大疆文档(3)-开发流程

热门文章

  1. 为PHP添加swoole异步并行扩展
  2. Genome2D官方博客及教程
  3. Zend Framework 简介
  4. 小程序和网站中无限滚动的实现
  5. Keras——Keras简介、安装、backend
  6. tensorflow精进之路(二十六)——人脸识别(上)(MTCNN原理)
  7. C++调用matlab接口
  8. 平衡二叉树---AVL树的实现
  9. dotnet new -i Microsoft.Maui.Templates
  10. c++多线程——同步并发