练习3斐波那契数列

相信小伙伴们都学过斐波那契数列,它是这样的一个数列: 。
用 fn表示斐波那契数列的第 n``项,则有: :f1=f2=1,fn=fn-1+fn-2(n>2), 。 输入一个n ,求出 fn 对1000000007(10的9次方+7) 取模结果。
输入格式
输入一个整数n(1<=n<=100000) 。
输出格式
输入 fnmod1000000007 的值。
样例输入
3
样例输出
2
题解:
第一项和第二项相等,用一维数组就可以了,循环进行相加就行了

#include<iostream>
using namespace std;
const int N = 1000000007;
int main()
{
 int n;
 cout << "请输入一个整数:";
 cin >> n;
 int *p = new int[n];
 p[0] = p[1] = 1;
 for (int i = 2; i < n; i++) {
  p[i] = (p[i - 1] + p[i - 2])%N;
 }
 cout << p[n - 1] % N << endl;
 return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43612495/article/details/86472809