본문 바로가기

백준 연습

백준 1003번 C언어

 

#include <stdio.h>
#include <stdlib.h>

typedef struct zeroOne {
	int zero;
	int one;
}zOne;

zOne *Arr;

void fibonacci(int n) {
	if (n == 0) {
		Arr[0].zero = 1;
		Arr[0].one = 0;
	}
	else if (n == 1) {
		Arr[1].zero = 0;
		Arr[1].one = 1;
	}
	else {
		Arr[n].zero = Arr[n - 1].zero + Arr[n - 2].zero;
		Arr[n].one = Arr[n - 1].one + Arr[n - 2].one;
	}

}

int main() {
	int T , N;

	scanf("%d", &T);
	for (int i = 0; i < T; i++) {
		scanf("%d", &N);

		Arr = (zOne*)malloc(sizeof(zOne) * (N + 1));
		for (int k = 0; k <= N; k++) {
			fibonacci(k);
		}

		printf("%d %d\n", Arr[N].zero, Arr[N].one);


		free(Arr);
	}


	return 0;
}

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

백준 15651번 C언어  (0) 2020.08.16
백준 15650 C언어  (0) 2020.08.16
백준 15649 C언어  (0) 2020.08.16
백준 9461 C언어  (0) 2020.08.15
백준 2748 C언어  (0) 2020.08.14