|
|
|
|
|
|
|
|
+ [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
(하노이 타워, 피보나치 문제 등등)
|
factorial,
recursive,
재귀,
재귀적,
재귀호출,
팩토리얼
|
0
|
|
|
|
|
이 글의 관련글(트랙백) 주소 :: http://shoner.pe.kr/trackback/279
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|