프로그래밍

재귀 호출로 factorial 값 구하기

Dilrong 2013. 10. 8. 14:00

//재귀 호출로 factorial 값 구하기
#include<stdio.h>

//함수의 원형 선언
long int fact(int);

void main()
{
 int n, result;
 printf("\n 정수를 입력하세요!! ");
 scanf("%d", &n);
 result = fact(n);
 printf("\n\n %d의 factorial 값은 %1d입니다. \n", n, result);
 getchar();
}

//long int 반환 int 받음
long int fact(int n)
{
 int value;
 //n이 1보다 작으면 종료
 if (n<=1)
 {
  printf("\n fact(1)함수 호출!");
  printf("\n fact(1)값 1반환 !!");
  return 1;
  //1보다 작을때 까지 실행
 }else{
  printf("\n fact(%d)함수 호출!", n);
  //재귀호출
  value = (n * fact(n-1)); 

  printf("\n fact(%d)값 %1d 반환!!", n, value);
  return value;
 }
}

반응형

'프로그래밍' 카테고리의 다른 글

문자열 비교 확인  (0) 2013.10.08
피보나치 수열  (0) 2013.10.08
구조체 화살표 연산자로 데이터 항목 참조하기  (0) 2013.10.08
3차원 배열 입력과 출력  (0) 2013.10.06
3차원 배열 확인  (0) 2013.10.06