일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 연산자 끼워넣기 성공
- 13458
- 9663
- 10872
- 15649
- 2798
- 14888
- 14503
- 3190
- 문제풀이
- 14501
- 15652
- 백준
- 1259
- 백트래킹
- rustup
- 분해합
- rust설치
- C
- 13460
- 15683
- 15651
- C++
- 15650
- 14890
- 러스트란 #cargo
- 14500
- 팰린드롬수
- 테트로미노
- 14891
Archives
Easy-So-Easy
[백준] 10872번 팩토리얼 - C/C++ 본문
반응형
백준 10872 문제(Problem)
풀이(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);
}
반응형
'BaekJoon' 카테고리의 다른 글
[백준] 14888번 연산자 끼워넣기 성공 - C/C++ (0) | 2023.06.24 |
---|---|
[백준] 1259번 팰린드롬수 - C/C++ (0) | 2023.06.22 |
[백준] 2231번 분해합 - C/C++ (0) | 2023.06.22 |
[백준] 2798번 블랙잭 - C/C++ (0) | 2023.06.22 |
[백준] 2580번 스도쿠 - C/C++ (0) | 2023.06.21 |