C

(C언어) 재귀함수 factorial 예제

SAFE 2016. 4. 28. 17:11

재귀함수의 예제는 아래와 같습니다.


1
2
3
4
5
6
int factorial(int n){
    if(n<=1)
        return 1;
    else
        return n*factorial(n-1);
}   // f(10) = 10*f(9) = 10*9*f(8) = ...
cs


저런 꼴로 되어있습니다.. 이건 팩토리얼(!) 을 만들어 내는 예제입니다.


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>
 
int factorial();
 
int main (void){
 
    int i;
    int k;
        printf("input number : ");
        scanf("%d", &i);
 
    k=factorial(i);
    
        printf("%d! = %d \n", i, k);
    return 0;
}
 
int factorial(int n){
    if(n<=1)
        return 1;
    else
        return n*factorial(n-1);
}
cs