반응형

앞서 재귀함수에 대한 예시를 설명했다.

https://ansan-survivor.tistory.com/1234

 

[C언어] 재귀함수란? 재귀함수 예시, 쉬운 설명

재귀함수란? 영어로 Recursive Function이며, 뜻 Recursive : 반복되는, 되풀이되는 이다. 즉, 자기자신을 호출하여 계속 불러오는 함수. 그러나 말이 너무 어렵다. 함수는 반환이 되어야 비로소 끝이 난

ansan-survivor.tistory.com

 

위에서 설명했던 재귀함수는 그러면 과연 어디에 쓸 것인가?

대표적인 사례로 펙토리얼 계산에 대표적으로 사용된다.

(펙토리얼 계산해주는 사이트)

https://www.inchcalculator.com/factorial-calculator/

반응형
 

Factorial Calculator - Solve n!

Calculate the factorial n! of any positive whole number, plus learn how to use the formulas to solve factorials.

www.inchcalculator.com

 

펙토리얼 계산을 일반항으로 모델링을 하면 아래와 같다.

펙토리얼의 정의

펙토리얼은 계속해서 f(n) 함수 내에서 f(n-1)을 연산 하므로 재귀함수의 성질을 갖고있다.

이를 C언어 재귀함수로 표현이 가능하다는 것이다.

#include <stdio.h>

// Recursive라는 함수를 만듦
int Factorial(int n)
{
    // n이 0이면 1을 리턴
    if (n == 0)
        return 1;
    else
    // n이 0이 아닐 경우 n x f(n-1) 계산을 계속 진행
        return n * Factorial(n-1) ;
}

int main(void)
{
    // 각 펙토리얼 계산 결과 확인
    printf("factorial 3! = %d\n", Factorial(3));
    printf("factorial 5! = %d\n", Factorial(5));
    printf("factorial 10! = %d\n", Factorial(10));

    return 0;
}

 

(결과)

결과가 맞는지는 아래 펙토리얼 계산 사이트를 이용해본다.

https://www.inchcalculator.com/factorial-calculator/

 

Factorial Calculator - Solve n!

Calculate the factorial n! of any positive whole number, plus learn how to use the formulas to solve factorials.

www.inchcalculator.com

 

 

반응형

+ Recent posts