재귀함수

- 함수에서 자기 자신을 호출하는 형태의 함수

- 사용자가 임의로 설정해둔 종료값을 만날 때까지 무한하게 반복되는 구조이다.

- 반복문과 다른 이유는 확장해나가는 구조를 수행할 때 재귀로만 해결할 수 있는 경우가 있다.

#include <iostream>
using namespace std;
void recFunc(int cur, int max);

int main()
{
	recFunc(0, 10);
}

void recFunc(int cur, int max)
{
	if (cur >= max)
	{
		return;
	}
	else
	{
		cout << "야호" << endl;
		recFunc(cur + 1, max);
	}
}

 

팩토리얼

- 반복적으로 확장해나가는 것 중에 팩토리얼을 구현해봅시다.

 => 3팩토리얼(3!) = 3 * 2 * 1

- 이런식으로 1이 될때까지 1씩 줄여가면서 곱하는 형태로 구현합니다.

#include <iostream>
using namespace std;
int factorial(int n);

int main()
{
	cout << factorial(3) << endl;

	return 0;
}

int factorial(int n)
{
	if (n == 1) return 1;
	
	return n * factorial(n - 1);
}

 

+ Recent posts