00 또는 1 로만 구성된 길이가 N인 2진 수열의 개수를 구하자
N이 5일 때 까지의 결과값들은 1, 2, 3, 5, 8 이다.
피보나치 수열이다.
#include <iostream>
using namespace std;
const int MAX = 1000000;
const int DIV = 15746;
int dp[MAX] = { 1, 2, };
int main()
{
for (int i = 2; i < MAX; i++)
dp[i] = (dp[i - 1] + dp[i - 2]) % DIV;
int n;
cin >> n;
cout << dp[n-1];
return 0;
}
2019-04-01 00:42:57에 Tistory에서 작성되었습니다.