https://www.acmicpc.net/problem/2747
n번째 피보나치 수를 출력하는 문제다. 재귀 또는 반복문으로 풀 수 있다. + 메모이제이션
#include <cstdio>
int dp[46] = {0, 1, 1, 2};
int fibo(int n)
{
if (dp[n])
return dp[n];
return dp[n] = fibo(n - 1) + fibo(n - 2);
}
int main()
{
int N;
scanf("%d", &N);
printf("%d\n", fibo(N));
return 0;
}
#include <stdio.h>
int main()
{
int f[100], n;
f[0] = 1, f[1] = 1;
scanf("%d", &n);
for (int i = 2; i <= n; i++)
{
f[i] = f[i - 1] + f[i - 2];
}
printf("%d\n", f[n - 1]);
}
'온라인저지' 카테고리의 다른 글
[BOJ] 15904번: UCPC는 무엇의 약자일까? (0) | 2018.07.26 |
---|---|
[BOJ] 11651번: 좌표 정렬하기 2 (0) | 2018.07.26 |
[BOJ] 11650번: 좌표 정렬하기 (0) | 2018.07.26 |
[BOJ] 2562번: 최대값 (0) | 2018.07.26 |
[BOJ] 8393번: 합 (0) | 2018.07.26 |
[BOJ] 2750번: 수 정렬하기 (0) | 2018.07.26 |
댓글