Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 지식 보관소

재귀 Recursion / 팩토리얼 Factorial 본문

알고리즘

재귀 Recursion / 팩토리얼 Factorial

야식은진리다 2019. 8. 31. 13:22

재귀 함수는 함수 내에서 자기 자신을 다시 호출하는 함수를 의미한다.

종료 조건을 만족할 때까지 자기 자신을 호출하면서 주어진 작업을 수행한다.

 

팩토리얼을 구하는 코드로 예를 들겠다.

#include <stdio.h>

int main(void)
{
	printf("\b\b= %d", factorial(5));

	return 0;
}

int factorial(int value)
{
	printf("%d * ", value);
	if (value <= 1)
	{
		return value;
	}
	return value * factorial(value - 1);
}

위의 코드에서 factorial 함수는 value가 1보다 작거나 같을 때까지 자기 자신을 계속해서 호출하게 된다.

 

보통 재귀는 메모리를 많이 잡아먹고 반복문에 비해 느리기 때문에 자주쓰이지 않지만,

반복문으로는 어려운 문제를 재귀를 통해서 문제를 쉽게 풀이할 수 있는 경우에 용이하게 쓰인다.

'알고리즘' 카테고리의 다른 글

후위 표기법  (0) 2020.08.15
하노이의 탑 The Tower of Hanoi  (0) 2019.12.14
피보나치수열 Fibonacci Sequence  (0) 2019.08.31
이진탐색 Binary Search  (0) 2019.08.26