문제
리뷰
정수 N(0 ≤ N ≤ 12)가 주어진다. 이때, N!을 출력하는 프로그램을 작성하는 문제다.
0! 은 0이라고 틀리게 알아서 처음에 풀 때 틀렸다. 질문게시판 FAQ 글 읽고 알았다.
0! 은 1이다
그 이유는 다음과 같다.
4! = 4 x 3 x 2 x 1
= 4 x (4-1)!
= 4 x 3!
위의 논리를 1 팩토리얼에 적용해본다.
1! = 1 x (1-1)!
= 1 x 0! = 1
= 1! 은 1이다. ( 1! = 1 )
따라서 0! == 1
코드
#include <iostream>
using namespace std;
int main(void){
int N = 0;
long long answer = 1;
cin >> N;
for(int i = 1; i <= N; i++){
answer = answer * i;
}
cout << answer;
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
소수 찾기 백준 1978번 (0) | 2020.09.13 |
---|---|
팩토리얼 0의 개수 백준 1676번 c++ (0) | 2020.09.12 |
스타트와 링크 백준 14889번 (0) | 2020.09.10 |
Two Dots 백준 16929번 (0) | 2020.09.09 |
섬의 개수 백준 4963번 (0) | 2020.09.08 |