문제

팩토리얼 백준 10872번


리뷰

정수 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

+ Recent posts