BAEKJOON/단계별로 풀어보기

[BOJ] 10872번 : 팩토리얼

말하는 알감자 2022. 8. 15. 22:52

🔒 문제

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

⌨ 입력

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

🖨 출력

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

📚 예제

Ex1)

10

3628800

Ex1)

0

1

📌 풀이

재귀함수를 사용합시다!

🔑 c언어 코드

#include <stdio.h>


void factorial(int n,int a);

int main()
{
    int N; 
    scanf("%d", &N);
    factorial(N, N - 1);
    return 0;
}

void factorial(int n, int a)
{
    if (a > 1)
    {
        n *= a;
        factorial(n, a - 1);

    }
    else if (a == 1)
        printf("%d", n);
    else
        printf("%d", 1);
}