C_C++/기초_알고리즘_문제

(C언어 재귀함수를 이용한 팩토리얼 구하기

고니자니 2022. 11. 19. 20:29
반응형

#팩토리얼 #factorial #재귀함수

 

 

재귀함수를 이용한 팩토리얼을 출력하는 프로그램입니다.

#include <stdio.h>

long factorial(int n) 
{
    if (n == 0)
        return 1L;
    else
        return n * factorial(n - 1);
}

int main(void)
{
    int n;
    for (n = 0; n < 13; n++)
        printf("%2d! = %10ld\n", n, factorial(n));

    return 0;
}

 

 

 

 

재귀를 사용하지 않은 일반 함수로 팩토리얼 구현하기

// 재귀를 사용하지 않고 함수로 구현한 팩토리얼 
long factorial (int n)  
{
    int i;
    long f=1L;

    for (i=n;i>=1;i--)
        f *= i;
    return f;
}

 

 0!=          1
 1!=          1
 2!=          2
 3!=          6
 4!=         24
 5!=        120
 6!=        720
 7!=       5040
 8!=      40320
 9!=     362880
10!=    3628800
11!=   39916800
12!=  479001600

 

 

반응형