앞서 소개했던 방법은 재귀함수와 메모이제이션를 이용하여 n번째 피보나치 항을 구하였습니다. 여기서는 for문을 이용해 재귀함수 없이 n번째 피보나치 항을 구하는 소스를 첨부합니다.
int fn[1000], MOD = 10007;
int main()
{
int n;
cin >> n;
fn[0] = fn[1] = 1;
for (int i = 2; i <= n; i++)
{
fn[i] = (fn[i - 1] + fn[i - 2]) % MOD;
}
cout << fn[n];
}