팩토리얼을 재귀 함수로 구현하였다.
일단 for문을 이용한 팩토리얼을 간단히 구현해보면 다음과 같다.


int main()
{
    int i,n=1;
    for(i=5;i>0;i--)
    {
        n=n*i;
    }
    printf("n=%d\n",n);

    return 0;
}


 이 경우 i=5이므로 5!에 대한 결과인 120을 출력한다.

이러한 반복적인 과정을 조금 생각해보면 다음과 같이 재귀적으로 구현할 수 있다.


#include <stdio.h>

int factorial(int num)
{
    if(num == 0)
        return 1;
    return num * factorial(num-1);
}

int main()
{
    printf("%d\n", factorial(1));
    printf("%d\n", factorial(3));
    printf("%d\n", factorial(5));

    return 0;
}


+ Recent posts