既然是签到题,就不整那么多花里胡哨的了,题目很简单,就是计算下面这个式子的值
输入格式:
第一行有一个正整数K。
接下来有K行,每行有一个数N。
数据保证有 1≤K≤109,1≤N≤105
结果对 109+7 取模。
输出格式:
输出 k 行,第 i 行代表第 i 个数据的的结果
输入样例:
在这里给出一组输入。例如:
2
1
1024
输出样例:
在这里给出相应的输出。例如:
1
754854590
这个题先写出程序用来打表,发现结果构成斐波那契数列,同时注意答案取余1e9,核心思想即首先找出3~10000的斐波那契数列存入数组,查询哪个就输出哪个
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
int x[100010];
x[1]=1;
x[2]=1;
for(int i=3;i<=100000;i++)
{
x[i]=(x[i-1]+x[i-2])%1000000007;
}
int k,n;
scanf("%d",&k);
while(k--)
{
scanf("%d",&n);
printf("%d\n",x[n]);
}
return 0;
}