전공/Problem Solving

[알고리즘/문제풀이] 피보나치 수 2

caneo 2021. 9. 26. 17:28
728x90
반응형

피보나치 수 2는 다이나믹 프로그래밍으로 해결할 수 있는 문제입니다. 피보나치 수를 구하기 위해 피보나치 수를 보관할 배열을 선언한 후 반복적인 연산을 통해 피보나치 배열을 업데이트시켜 최종적으로 원하는 피보나치 수를 구하도록 하여야 합니다.

작성한 코드는 다음과 같습니다.

#include<stdio.h>
#pragma warning(disable : 4996)

long long int fibo[120];
int N;

int main(void) {
	fibo[0] = 0;
	fibo[1] = 1;

	scanf("%d", &N);
	if (N == 0) printf("%d\n", fibo[0]);
	else if (N == 1)printf("%d\n", fibo[1]);
	else {
		for (int i = 0; i < N-1; i++) {
			fibo[i + 2] = fibo[i + 1] + fibo[i];
		}
		printf("%lld\n", fibo[N]);
	}
}

문제의 링크는 다음과 같습니다.

https://www.acmicpc.net/problem/2748

728x90
반응형