본문 바로가기

백준/C++

[C++] 백준 27433번 - 팩토리얼 2

728x90

 

문제 27433번

https://www.acmicpc.net/problem/27433

 

처음에 int를 했다가 허용범위를 넘어가는 숫자가 있어서 long long으로 바꿔주었다.

0!과 1!은 1이기 때문에 입력받은 값이 1보다 작거나 같다면 1을 리턴해준다. 다른 숫자면 재귀함수를 사용한다.

 

#include <iostream>
using namespace std;

long long fac(int num) {
	if (num <= 1) {
		return 1;
	}
	else {
		return num * fac(num - 1);
	}
	
}

int main() {
	int n;
	cin >> n;
	cout << fac(n);

	return 0;
}

 

 

728x90