본문 바로가기
백준(C언어)/23년 3월

동적 계획법 1 - 24416번

by C0MPAS 2023. 3. 6.

3월 6일(월) - 동적 계획법 1 (24416번)

 

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

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

www.acmicpc.net

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

최초 생각 정리

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

문제점

x

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

풀이

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)

#include <stdio.h>

int arr[41] = { 0, };
int count_1 = 0;
int count_2 = 0;

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

void fibonacci(int n)
{
	arr[1] = arr[2] = 1;
	for (int i = 3; i <= n; i++)
	{
		arr[i] = arr[i - 1] + arr[i - 2];
		count_2++;
	}
}

int main(void)
{
	int n;
	scanf("%d", &n);

	fib(n);
	fibonacci(n);

	printf("%d %d", count_1, count_2);
	return 0;
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

'백준(C언어) > 23년 3월' 카테고리의 다른 글

[C] 백준 - 1904번: 01타일  (0) 2023.03.07
[C] 백준 - 9184번: 신나는 함수 실행  (0) 2023.03.06
백트랙킹 - 14889번  (0) 2023.03.03
반복문 - 25314번  (0) 2023.03.02
(*풀이진행중)백트랙킹 - 14889번  (0) 2023.03.02

댓글