定义一个数列f(i) = f(i-1)+f(i-2), f(0) = 0, f(1) = 1. 求f(n) mod (1e9+7)
输入数据
一个正整数n,n<=1e5
输出数据
f(n) mod (1e9+7)
想问问大佬为什么我的 n大于50的时候就出错了,该怎么写呢?
#include<iostream>
#include<math.h>
using namespace std;
long long int n;
long long int a[100010];
int main()
{
cin >> n;
a[0] = 0;
a[1] = 1;
for (long long int i = 2; i <= n; i++)
{
a[i] = a[i-1] + a[i-2];
}
long long int sum = a[n];
long long int ans;
ans = sum%(long long int)(pow(10, 9) + 7);
cout << ans;
return 0;
}
目前暂无任何回答
- 0 回答
- 0 关注
- 1418 浏览
添加回答
举报
0/150
提交
取消