백준
[백준] 10872번: 팩토리얼 (C++)
리리쟝
2022. 2. 22. 23:12
백준 10872번: 팩토리얼
https://www.acmicpc.net/problem/10872
처음에는 어라 이거 그냥 for문 때리면 되는 거 아닌가 하고
#include <iostream>
using namespace std;
int main()
{
int N;
int n = 1;
cin >> N;
if (N != 0)
{
for (int i = 1; i <= N; i++) { n *= i; }
}
cout << n;
}
이렇게 풀었었는데
가만히 생각해보니 이 문제는 재귀함수 카테고리에 들어 있어서 이렇게 풀면 안 될 것 같았다
#include <iostream>
using namespace std;
int fac(int n)
{
if (n == 0) { return 1; }
return n * fac(n - 1);
}
int main()
{
int N;
cin >> N;
cout << fac(N);
}
재귀함수 사용해서 다시 클리어