홍시홍의 프로그래밍

[백준 1003] 피보나치 함수 본문

알고리즘 문제풀이/백준

[백준 1003] 피보나치 함수

홍시홍 2020. 3. 16. 20:35

요구사항

피보나치 수열을 구현하였을때, 0과 1의 출현 횟수 구하기

 

풀이

바텀업 방식으로

 d0, d1 배열을 잡아서 d0의 출현 횟수, d1의 출현 횟수를 구한다

d0는 d0만의 피보나치 함수이고

d1은 d1만의 피보나치 함수이다.

 

#pragma warning(disable:4996)
#include <vector>
#include <queue>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <functional>
#include <algorithm>

using namespace std;
int d0[51];
int d1[51];
int main() {
	d0[0] = 1;
	d0[1] = 0;
	d1[0] = 0;
	d1[1] = 1;
	int t;
	for (int i = 2; i <= 41; i++) {
		d0[i] = d0[i - 1] + d0[i - 2];
		d1[i] = d1[i - 1] + d1[i - 2];
	}
	scanf("%d", &t);
	for (int tc = 1; tc <= t; tc++) {
		int x;
		scanf("%d", &x);
		printf("%d %d\n", d0[x], d1[x]);
	}
}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 2294] 동전 2  (0) 2020.03.17
[백준 9465] 스티커  (0) 2020.03.16
[백준 1463] 1로 만들기  (0) 2020.03.16
[백준 9370] 미확인 도착지  (0) 2020.03.16
[백준 5719] 거의 최단 경로  (0) 2020.03.16
Comments