https://www.acmicpc.net/problem/10872
위 문제이다.
재귀함수에 대해
다음은 위키 백과의 내용을 캡쳐해 보았다.
그림은 재밌어 보이나, 설명은 복잡해 보인다!
간략하게 나타내어보자.
재귀함수(再歸函數)는 정의 단계에서 자신을 재참조하는 함수를 뜻한다. 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적(recursive)이라고 한다
이를 통해 어떻게 알고리즘을 구현할까, 위의 백준문제 팩토리얼을 보자.
예전 반복문을 공부할 때, 반복문을 통해서 해결을 했었다.
재귀 함수로 바꿔보자
위와 같이 재귀함수를 이용해 팩토리얼을 구할 수 있다.
어제 static과 관련된 내용을 배웠으니 이와 관련하게 코드 분석을 해보자.
fact 함수에 대해
fact 함수는 반환값이 int 형태이고, 매개변수도 int형태이다.
입력받은 n의 값이 0보다 크면, n*fact(n-1)을 반환한다.
그 외의 값들은 1을 반환한다.