[백준] 24416번: 알고리즘 수업 - 피보나치 수 1 (C언어)

728x90
728x90

 

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

 

24416번: 알고리즘 수업 - 피보나치 수 1

오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍

www.acmicpc.net

난이도: solved.ac 브론즈 1

 

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int f[41] = { 0,1,1 };
int cnt1 = 0;
int cnt2 = 0;

int fib(int n) {
    if (n == 1 || n == 2) {
        cnt1++;
        return 1;
    }
    else return (fib(n - 1) + fib(n - 2));
}

int fibo(int n) {
    for (int i = 3; i <= n; i++) {
        cnt2++;
        f[i] = f[i - 1] + f[i - 2];
    }
    return f[n];
}

int main() {
    int n;
    scanf("%d", &n);
    fib(n);
    fibo(n);
    printf("%d %d", cnt1, cnt2);
	return 0;
}
반응형