재귀의 정의

  1. 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘
  2. 기저사례(종료 조건)이 반드시 존재해야한다.

형태

  1. 기저사례(종료 조건)
  2. 처리해야 하는 로직
  3. 자기자신(재귀)의 호출

수학적 귀납법

절차지향적인 사고와 귀납적 사고

void func1(int n) {
	if(n == 0) return;
	cout << n << ' ';
	func1(n-1);
}

재귀 함수의 조건

void func1(int n) {
	if(n == 0) return;
	cout << n << ' ';
	func1(n-1);
}

위의 코드에서 if (n == 0) return; 이 base condition임