先上题目
简单的斐波那契数列,直接循环就OK
AC代码
#include<bits/stdc++.h>
typedef long long LL;
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define INF 0x3f3f3f3f
using namespace std;
LL fn=0,f1=1,f2=2,Mod=1e9+7;
void Fibonacci(int n)
{
for(int i=3;i<=n;i++)
{
fn=(f1+f2)%Mod;
f1=f2%Mod;
f2=fn%Mod;
}
printf("%lld\n",fn%Mod);
}
int main()
{
// clock_t time_start,time_end;
// time_start=clock();
int N;
while(~scanf("%d",&N))
{
if(N==1)
cout<<"1"<<endl;
else if(N==2)
cout<<"2"<<endl;
else
Fibonacci(N);
fn=0,f1=1,f2=2;
}
//time_end=clock();
// cout<<"Run time:"<<(time_end-time_start)<<"ms"<<endl;
return 0;
}