백준 10872번: 팩토리얼 - c언어

Yeonsu Summer·2022년 7월 29일
0

알고리즘

목록 보기
10/24
post-thumbnail

문제

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

입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.

출력

첫째 줄에 N!을 출력한다.

예시

입력출력
103628800
01

첫 번째 제출한 답

#include <stdio.h>
int factorial(int num) {
    return num * factorial(num - 1);
}


int main() {
    int n, result;
    
    scanf("%d", &n);
    
    result = factorial(n);
    
    printf("%d", result);
    
    return 0;
}

결과는 시간초과

재귀함수가 멈추는 구간을 설정하지 않았다.
1 이하일 때 1을 return하는 조건문을 작성해야한다.


첫 번째 제출한 답

#include <stdio.h>
int factorial(int num) {
    if (num <= 1) {
        return 1;
    }
    
    return num * factorial(num - 1);
}


int main() {
    int n, result;
    
    scanf("%d", &n);
    
    result = factorial(n);
    
    printf("%d", result);
    
    return 0;
}

결과는 맞았습니다!!

profile
🍀 an evenful day, life, journey

0개의 댓글