본문 바로가기
■ Programming /[C,C++] 문제

[C언어] 재귀함수를 이용한 factorial ( 팩토리얼 ) 소스코드

by Popbox 2017. 3. 25.
반응형

 

 

[C언어] 재귀함수를 이용한 factorial ( 팩토리얼 ) 소스코드

 

 

 
재귀함수를 이용한 factorial ( 팩토리얼 ) 소스코드

 

재귀(再歸, Recursion)는 수학이나 컴퓨터 과학 등에서 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻한다. 

주로 이 방법은 함수에 적용한 재귀 함수(Recursion Function)의 형태로 많이 사용된다. 

또 사진이나 그림 등에서 재귀의 형태를 사용하는 경우도 있다.

 

 

 
 
 

 

 

  1. 팩토리얼 구현하기

 

 

 

 간단하게 5! 를 구하는 함수를 구현해 보겠습니다.

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
/* (재귀함수)팩토리얼 함수 구현 */
unsigned int factorial(unsigned int n)
{
    printf("%d ", n);
    // 재귀함수 탈출문
    if (n <= 1)
        return 1;
    //나 자신을 호출한다.
    else 
        return n * factorial(n - 1);
}


int main()
{
    int num = 5;
    
    int result = factorial(5);
    printf("\n5! 의 결과 : %d \n", result);


    return 0;
}
 
cs
 

 

 

재귀함수는 반드시 탈출 조건이 있어야합니다. 아니면 무한히 호출하여 프로그램이 멈추게 됩니다. (무한루프)

 

 

 

 

  2. 실행 순서 설명

 

 

 

 

 

 

 

 

 

 

 

 감사합니다. 공감 한번 부탁드려요.

[ 다음 장 ]

 

 

반응형

댓글