[C++] 팩토리얼과 피보나치 수열

Eu4ng·2023년 8월 10일
0

C++

목록 보기
5/5

반복문

// 팩토리얼
int factorial(int n)
{
	int result = 1;

	for (int i = 1; i <= n; i++)
	{
		result *= i;
	}

	return result;
}

// 피보나치
// Dynamic Programming으로 할 수 있다
// Overlapping Sub Problems

재귀함수

  • 기저 사례가 존재해야한다 (상한선, 하한선)
    • factorial(0) = 1;
    • fibonacci(0) = 0;
// 팩토리얼
int factorial(int n)
{
	return n == 1 || n == 0 ? 1 : n * factorial(n - 1);
}

// 피보나치
int fibonacci(int n)
{
	if (n == 0)
		return 0;
	else if (n == 1)
		return 1;
	else
		return fibonacci(n - 1) + fibonacci(n - 2);
}

재귀 함수는 스택 오버플로우를 초래할 수 있다

profile
초보 개발자

0개의 댓글