https://www.acmicpc.net/problem/10872
팩토리얼을 구현하면 되는 문제이다. 나는 재귀함수를 사용하여 구현해주었다. 1보다 작다면 1을 반환해주고 아니라면
n* fac(n-1)을 통해 n~ 1까지의 팩토리얼 값을 계산하도록 했다.
이때 팩토리얼 결과값이 클 수 있어서 long값을 반환하도록 해주었다.
정답코드
#include <iostream>
using namespace std;
long fac(int n)
{
if (n <= 1)return 1;
else return n * fac(n-1);
}
int main()
{
int n;
cin >> n;
cout << fac(n) << endl;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준][C++]1010번. 다리 놓기 (1) | 2024.10.10 |
---|---|
[백준][C++]11050번. 이항 계수1 (1) | 2024.10.08 |
[백준][C++]24723번. 녹색거탑 (1) | 2024.10.08 |
[백준][C++]15439번. 베라의 패 (3) | 2024.10.08 |
[백준][C++]2346번. 풍선 터뜨리기 (0) | 2024.10.07 |