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
'백준 > C++' 카테고리의 다른 글
[C++] 백준 24479번 - 알고리즘 수업(깊이 우선 탐색 1) (0) | 2024.07.04 |
---|---|
[C++] 백준 10870번 - 피보나치 수 5 (0) | 2024.07.03 |
[C++] 백준 1010번 - 다리 놓기 (0) | 2024.07.02 |
[C++] 백준 11050번 - 이항 계수 1 (0) | 2024.06.30 |
[C++] 백준 24723번 - 녹색거탑 (0) | 2024.06.30 |