반응형
Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
관리 메뉴

Easy-So-Easy

[백준] 10872번 팩토리얼 - C/C++ 본문

BaekJoon

[백준] 10872번 팩토리얼 - C/C++

섭_민 2023. 6. 22. 06:47
반응형

백준 10872 문제(Problem)

10872
백준 10872 문제

풀이(Solution)

팩토리얼 문제는 재귀함수의 대표적인 문제이다. 문제를 요약하자면 N! 를 구하는 건데, 혹시 이게 뭔지 모를 분들을 위해 설명하겠다. N! 는 N 팩토리얼로, 1 x 2 x 3 x 4 x ... x (N-1) x N 을 구하는 문제이다. 

 

여기에서 사용한 함수는 fact함수로 재귀호출을 할 함수이다. 기저 조건은 n이 0일 때나 n이 1일 때 1을 반환하도록 하였고, n*fact(n-1) 로 계속 재귀적으로 호출하도록 함수를 만들었다.

 

n*fact(n-1)은 다음과 같이 바뀐다.

n * (n-1) * (n-2) * (n-3) * (n-4) * .... * 1

메인 함수에서 호출한 fact(n)이 위의 식이 되기에 바로 출력하면 된다.

전체 코드(Code)

#include<iostream>
using namespace std;
int fact(int n){
  if(n==0 || n==1) return 1;
  return n*fact(n-1);
}
int main(){
  int n; cin >> n;
  cout << fact(n);
}
반응형