백준 2748번 (피보나치 수 2)

백준 2748 (피보나치 수 2)

재귀 풀이

#include<stdio.h>

long long fibo[92] = { 0,1 };
void fibonacci(int num, int max) {
	if (num >= max + 1) return;
	fibo[num] = fibo[num - 1] + fibo[num - 2];
	fibonacci(num + 1, max);
}
int main() {
	int n; 
	scanf("%d", &n);
	fibonacci(2, n);
	printf("%lld", fibo[n]);
}

배열 풀이

#include <stdio.h>

long long Fibo(int a) {
	long long array[92] = {0,1};

	for (int i = 2; i <= a; i++) {	
		array[i] = array[i - 2] + array[i - 1];
	}
	return array[a];
}

int main()
{
	int a = 0;
	scanf("%d", &a);
	printf("%lld", Fibo(a));
}

좋은 웹페이지 즐겨찾기