-
재귀함수의 팩토리얼(Factorial)프로그래밍/자료구조 2016. 12. 18. 22:52728x90반응형
재귀함수의 팩토리얼(Factorial)
먼저 재귀험수의 팩토리얼을 설명하려고한다.
팩토리얼의 수학적인 함수를 보면 다음과 같이 나타내어진다.
우리가 수학에서 쓸때 팩토리얼을 !를 사용하여 쓰곤한다. 이의 원리는
3! 1부터 자기자신까지의 정수들을 곱하여 나타낸다. 즉,
3! = 3 * 2 * 1 의 형태로 나타내어 3! = 6이 된다.
하지만 우리는 수학을 공부하는게 아니라 자료구조를 공부하기때문에
이러한 원리를 재귀 함수를 사용하여 나타낼것이다.
먼저 일단 위에있는 사진을 살펴보면 우리가 달리 생각할수도 있을것이다.
이렇게도 볼수 있지않을까?
즉 5! = 5 * 4! 이것으로 볼수도 있을것이다.
이렇게 식을 바꾸어 보면 재귀함수로 표현할 수 있을것이다.
그렇다면 이것을 다시 수학적인 함수로 바꾸면
이렇게 함수로 바꿀수 있을것이다.
여기서 f(n)을 함수라 하고 n을 매개변수라 지정을 하고 .... 다음을 조건식으로 생각을하면
c언어의 코드로 바꿀 수 있을것이다.
이것을 다시 c언어의 형태로 표현하면 다음과 같이 바꿀수 있다.
파란색 선박스 안에 있는 c언어는 위에 수학적인 표현을 c언어의 표현으로 바꾼것이고
빨간색 선박스 안에 있는 c언어는 위에 수학적인 표현을 c언어의 표현으로 바꾼것이다.
이제 문장들을 함수로 표현하면 아래와 같이 c언어의 하나의 함수로 만들 수 있다.
이상으로 팩토리얼의 재귀 함수의 표현을 마치겠다.
728x90반응형'프로그래밍 > 자료구조' 카테고리의 다른 글
재귀 함수(Recursion) (0) 2016.12.18 빅-오 표기법(Big-Oh Notation) (0) 2016.12.16 이진 탐색(Binary Search) 알고리즘과 시간 복잡도 (0) 2016.12.16 순차 탐색(Linear Search) 알고리즘과 시간 복잡도 (0) 2016.12.16 자료구조와 알고리즘의 성능분석방법 (0) 2016.12.16