#include <bits/stdc++.h>
using namespace std;
int factory(int n) {
if (n==0||n==1) {
return 1;
}
else {
return factory(n - 1) * n;
}
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n,ans=0;
cin >> n;
ans = factory(n);
cout << ans;
}
0! 과 1!의 예외만 처리해주면 쉽게 해결할 수 있다.
다만 n이 커질경우 int로는 정수를 다 담을 수 없게될 것이다.
그래서 문제에서도 n의 범위를 12까지만 준거같다.
'Algorithm' 카테고리의 다른 글
[백준] 알고리즘 2751번 - 수 정렬하기2 문제 (0) | 2020.12.30 |
---|---|
[백준] 알고리즘 1676번 - 팩토리얼 0의 개수 (0) | 2020.12.29 |
[백준] 알고리즘 11653번 - 소인수분해 문제 (0) | 2020.12.29 |
[백준] 알고리즘 1929번 - 소수 구하기 문제 (0) | 2020.12.25 |
[백준] 알고리즘 1978번 - 소수 찾기 (0) | 2020.12.22 |