蓝桥杯今日份练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯今日份练习相关的知识,希望对你有一定的参考价值。

一、题目

相信小伙伴们都学过斐波那契数列,它是这样一个数列:1,1,3,5,8,13,21…………

用f(n)表示斐波那契数列的第n项,则有:f1=f2=1,fn=fn-1+fn-2(n>2).

输入一个n,求出 fn 对10的9次方+7取模结果。

输入格式:

输入一个整数n(1<=n<=10000)

输出格式:

输出fn对1000000007的值。

二、小技巧和注意事项

1、在解决斐波那契数列问题时,利用数组,我们可以"人为"忽略掉数组下标从0开始,我们定义时,就从下标1开始,跟数列相同

2、因为斐波那契额数列基本呈指数级增长,为了防止数值超过int类型,我们可以边加边取模,结果和最后整个取模是一样的(我称之为取模结合律

三、源码+注释

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;


int main()

int mod = 1e9 + 7;//1e9这个指数形式要牢记,e前e后都必须是整型!
int f[100005];
int n;
cin >> n;
f[1] = 1;
f[2] = 1;
//利用数组表示斐波那契数列的技巧!在解决斐波那契数列问题时,利用数组,我们可以"人为"忽略掉数组下标从0开始,我们定义时,就从下标1开始,跟数列相同
for (int i=3;i<=n;i++)

f[i] = (f[i - 1] + f[i - 2])%mod;//因为斐波那契额数列基本呈指数级增长,为了防止数值超过int类型,我们可以边加边取模,结果和最后整个取模是一样的(我称之为取模结合律)

cout << f[n] << endl;
return 0;

蓝桥杯今日份练习_取模


以上是关于蓝桥杯今日份练习的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯练习系统题解

C语言蓝桥杯年龄的三次方是四位数,四次方是六位数,是个数正好包含0到9,猜年龄是多少

最大最小公倍数(蓝桥杯)

蓝桥杯集训100题scratch猜数游戏 蓝桥杯scratch比赛专项预测编程题 模拟练习题第9题

蓝桥杯--基础练习2

蓝桥杯集训100题scratch水仙花数 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第18题