YunDev

백준 27433번[C] - 상세 풀이 본문

Programming/Baekjoon Program

백준 27433번[C] - 상세 풀이

S준 2024. 1. 11. 15:13
 

27433번: 팩토리얼 2

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 


#include <stdio.h>

int main() {
    int num = 0;
    long long sum = 1;
    scanf("%d", &num);
    
    for(int i = num; i > 0; i--) {
        sum*=i;
    }
    
    printf("%lld", sum);
    return 0;
}

 

풀이 : 먼저 팩토리얼이란 n이 자연수일 때, 1 부터 n 까지의 모든 자연수의 곱을 의미합니다. (n팩토리얼 = n!으로 표시)
문제를 풀기 위해선 값을 입력받고 입력받은 값을 1까지 반복문을 돌며 -1을 해가며 곱하면 구할 수 있습니다.
그런데 여기서 주의할 점은 0!은 0이 아닌 1이기 때문에 sum을 1로 초기화했습니다.


또한 문제에서 제시된 값을 보면 20!까지도 구할 수 있어야 하기 때문에 -21~21억정도의 범위를 가진 int가 아닌
long long으로 선언해야합니다.

'Programming > Baekjoon Program' 카테고리의 다른 글

백준 5597번[C] - 풀이  (0) 2024.01.13
백준 10807번[C] - 상세 풀이  (0) 2024.01.12
백준 2480번[C] - 상세 풀이  (2) 2024.01.10
백준 2525번[C] - 상세 풀이  (0) 2024.01.09
[C]백준 1157번 - 풀이  (1) 2024.01.08