2016년 1월 14일 목요일

factorial 구하기

"윤성우의 열혈 자료구조" 53페이지의 팩토리얼 함수에 대해서 구현해 봄.
'내가 재귀함수에 대해서도 이렇게 구현을 잘 못하는구나.'라는 생각을 했다.
그런데, 구현은 얼추 맞는 것 같다.
  1 #include <stdio.h>
  2
  3 #define FACTORIAL_NUM 12
  4
  5 int fac(int n);
  6
  7 int main(int argc, char * argv[])
  8 {      
  9         int fac_n = FACTORIAL_NUM;
 10        
 11         printf("fac(8) %d\n", fac(fac_n));
 12 }
 13
 14 int fac(int n)
 15 {      
 16         int rec_val;
 17         if(n == 1) {
 18                 printf("last n = %d\n", n);
 19                 return 1;
 20         }
 21        
 22         rec_val = fac(n-1);
 23        
 24         printf("n = %4d, fac(n-1) = %d\n", n, rec_val);
 25         return n * rec_val;
 26 }


댓글 없음:

댓글 쓰기