재귀 함수에는 세 가지 요구 사항이 있습니다.
1. 재귀의 종료 지점, 즉 재귀 함수의 종료
2.
3. 재귀 함수의 주요 내용, 즉 재귀 함수가 수행해야 하는 작업
ps: 일반적으로 3은 2 앞이나 뒤에 올 수 있고, 1은 일반적으로 먼저 배치됩니다. 또한 2와 3은 필요에 따라 결합될 수 있습니다. 예를 들어 재귀 함수의 본체는 하위 함수를 호출하여 얻은 결과를 반환하는 것입니다.
구체적인 예는 다음과 같습니다: void?fun(int?n)
{
if(nlt;=0)?return; ?재귀의 끝점, 즉 종료
fun(n-1) //2. 재귀 함수 자체의 호출
coutlt;lt ;nlt;lt;endl;?//3 ?재귀 함수의 주요 내용
}
2,3 병합 상황 int?fun(int?n)
{
if(nlt;=0)?return?0;
return?fun(n-1) fun(n-2);?//2 ?3 병합
}