🔗문제 풀러가기
단계별로 풀어보기 단계 21의 2번째 문제이다.
재귀함수를 사용하여 팩토리얼 값을 구하였다.
재귀의 설명 그대로
함수에서 자기 자신을 다시 호출하는 함수 이다.
우리가 흔히 알고 있는 반복문(for, while) 등이 있는데, 이러한 반복문은 재귀함수로 대체 할 수 있다.
자기 자신을 계속해서 다시 호출하는 함수이니 조건문을 통해 종료조건을 꼭 설정 해야 한다.
이번에 풀어볼 문제 27433 팩토리얼 2은 재귀함수를 사용하는 대표적 예제인 팩토리얼을 구하는 문제이다.
#include <iostream>
using namespace std;
long long Pac(long long n) // int형으로는 담을 수 없는 값이 올 수도 있으므로 int형이 아닌 longlong으로 해주어야 한다.
{
if (n <= 1) // n이 1보다 작다면 재귀를 종료한다.
{
return 1;
}
return n * Pac(n - 1);
}
int main()
{
int input;
cin >> input;
cout << Pac(input);
}