본문 바로가기

백준

백준_1003: 피보나치 함수

www.acmicpc.net/problem/1003

 

1003번: 피보나치 함수

각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.

www.acmicpc.net

이전 두개의 값을 더해서 자신의 값을 구함

#include <iostream>
using namespace std;

int main() {

	int fibo[2][41]; //2차원배열생성 (0의 값과 1의 값 배열)
	fibo[0][0] = 1;	
	fibo[0][1] = 0;
	fibo[1][0] = 0;
	fibo[1][1] = 1;

	int n, m;

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> m;
		if (m > 1) {	//얻으려는 값이 0이나 1이면 배열에 이미 값이 들어있음
			for (int j = 2; j <= m; j++) {	//2부터 시작해 값 얻어오기
				fibo[0][j] = fibo[0][j - 2] + fibo[0][j - 1];
				fibo[1][j] = fibo[1][j - 2] + fibo[1][j - 1];
			}
		}
		
		cout << fibo[0][m] << ' ' << fibo[1][m] << "\n";
	}

	return 0;
}

 

'백준' 카테고리의 다른 글

백준_9012: 괄호  (0) 2021.01.11
백준_1874: 스택수열  (0) 2021.01.07
백준_10845: 큐  (0) 2020.12.27
백준_3986: 좋은단어  (0) 2020.12.26
백준_11866: 요세푸스 문제 0  (1) 2020.12.24