5-斐波那契数列

xiaoxiao2021-02-28  39

问题:

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

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

输入一个 n,求出 fn 对 1000000007(109+7) 取模结果。

输入格式

输入一个整数n(1n100000)

输出格式

输入 fnmod1000000007 的值。

样例输入

3

样例输出

2

代码详解:

#include <iostream> using namespace std; int main() { int f1,f2,f; int n; cin>>n; if(n==1||n==2){ f=1; } else{ f1=1; f2=1; for(int i=2;i<n;i++){ f=(f1+f2)00000007;//此题重点:数据在不停加的时候,会出现溢出情况,所以在中的时候就应该取模了 f1=f2; f2=f; } } cout<<f<<endl; return 0; }
转载请注明原文地址: https://www.6miu.com/read-2630639.html

最新回复(0)