문제 바로가기> 백준 15624번: 피보나치 수 7
dp를 이용하여 문제를 풀었다. vector에 저장할 때 1000000007으로 그 때 그 때 나누어 저장해주었다.
#include<iostream>
#include<vector>
using namespace std;
#define M 1000000007
int main(){
vector<long long> v(1000001); v[1]=1;
int n; cin>>n;
for(int i=2; i<=n; i++){
v[i] = (v[i-1]+v[i-2])%M;
}
cout << v[n];
}