------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#include<stdio.h>

int main()

{

int n;

long long dp[91] = { 0,1 };      // <-- 자료형 만 변경

scanf("%d",&n);

for (int i = 2; i <= n; i++)

dp[i] = dp[i - 2] + dp[i - 1];         // <-- 1번 문제와 엔진 동일

printf("%lld",dp[n]);       // <-- long long이므로 lld를 써줌

return 0;

}


피보나치 수열 1번문제랑 다른점은 입력 n의 범위가 90까지 늘어난것..

int로는 표현할수 있는 수를 넘어가기 때문에  어마무시하게 긴 long long을 썼다.





'알고리즘 > DP(Dynamic Programming)' 카테고리의 다른 글

연속합 (DP)  (2) 2016.12.22
파도반 수열 (DP)  (0) 2016.12.21
1로 만들기 (DP)  (0) 2016.12.21
피보나치 수열 1 (DP)  (0) 2016.12.21

+ Recent posts