태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

 

  쇼너짱의
         Warm IT up !!  

 

*쇼너짱은 누규?
검색 
분류 전체보기 (229)
Shoner Life (31)
Data Mining (1)
Media와 IT (68)
모바일퓨처리스트 (7)
Mobile (12)
UX공부&경험 (3)
MS Windows (7)
실버라이트와닷넷 (8)
Python&Django (2)
정보검색&시각화 (15)
에너지와 환경 (3)
멋진 장면,글,노래 (9)
쇼너짱 me2DAY (56)
Project P (0)
Vehicle (7)
MS  me2sms  실버라이트  me2mms  show  MSP  me2photo  ucc  KTF  휴대폰 
 매출은 쑥쑥..
└>Salesforce.com
 F1 지원 1천억..
└>dream reader
 갈비김치찌개..
└>맛多? 맞다!
 쇼너짱의 생각
└>shoner's me2DAY
 JIXmall :: ajax
└>JIXmall.com
«   2010/08   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
+ 6 Fingers
+ ai-times
+ Blogom
+ DJ SUNGWOO
+ Eluard's Play..
+ happysphere
+ Mook
+ OutSider
+ The Dynamo Of..
+ ♡♡♡♡♡
+ 꿈꾸는아이,..
+ 루카쨩
+ 멜로디언님의..
+ 밥알양(no-name)
+ 소명
+ 이야기#2
+ 작은아이!
+ 절대미녀 누님
+ 지에고의 게임..
+ 크림치즈베이글
+ Total : 249,062
+ Today : 17
+ Yesterday : 113
  

MSP Banner
Channel 8
Silverlight
DreamSpark
xna Team
미투데이
믹시

 

 

 

+   [Shoner Life]   |  2009/12/16 12:41  
재귀적 함수(Recursive Function)의 가장 쉬운 예는,
팩토리얼(Factorial)을 계산하는 함수를 꼽을 수 있다.

아래와 같은 C++ 코드에서 함수가
자기 자신을 다시 호출 하여 재귀적으로 이용함으로써 계산 문제를 쉽게 해결 가능



#include <iostream>

int Factorial(int n);

int main(int argc, char **argv)
{
  int a;
  a = Factorial(10);
  cout << a << endl;

  return 0;
}

int Factorial(int n)
{
   if(n>1) return n*Factorial(n-1);
   return 1;
}



재귀호출을 할 때 주의할 점은, 자칫 잘못하면 무한 반복을 하는 등의 오류를 범할 수 있다는 것,
팩토리얼 계산의 경우에 입력값 n이 0이나 1일 될 경우까지 다 생각을 해야 한다.
또한 n은 자연수 , 즉 0보다 커야만 한다. 이렇듯 계산값이 어떤 수가 될지 전부 고려해야함!!
(자연수가 아닌 수에 대한 팩토리얼 계산은 좀더 복잡한 식을 따로 만들어야 함 - 감마함수 사용.
그에 관한 정보는 여기에 : 위키피디아-계승 )


재귀호출에 대한 더 자세한 정보는 PinkWink님 블로그 : http://pinkwink.kr/217
(하노이 타워, 피보나치 문제 등등)
저작자 표시 비영리 동일 조건 변경 허락

 
     , , , , ,
     0   0
이 글의 관련글(트랙백) 주소 ::    http://shoner.pe.kr/trackback/279 관련글 쓰기
<<이전 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ... | 229 | 다음>>