백준 코드 공부/C언어

백준 10872 : 팩토리얼 (C언어)

GUuu9 2021. 12. 5. 17:30

문제

10872번: 팩토리얼 (acmicpc.net)

 

10872번: 팩토리얼

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

www.acmicpc.net


문제

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

입력

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

출력

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

예제 입력 1 복사

10

예제 출력 1 복사

3628800

예제 입력 2 복사

0

예제 출력 2 복사

1

출처

알고리즘 분류

 


#include<stdio.h>

int recursive(int value);
int sum=1;

int main(){
    int n, sum;
    scanf("%d", &n);
     sum = recursive(n);
     printf("%d", sum);
}

int recursive(int value){
    if(value == 0)
        return sum;
    sum *= value;
    value--;
    recursive(value);
}

값 n을 받으면 1부터 n까지의 곱을 구하는 문제입니다.

recursive 함수에서 입력받은 값을 sum에 반복해서 곱해줍니다. 각 회차마자 값을 1씩 줄여 곱합니다.

value의 값이 0이 된다면 더이상 곱하지 않고 값을 메인 합수로 반환하여 완성된 값을 출력합니다.


Git Hub

BaekJoon-Study/10872 : 팩토리얼.c at C · GUuu9/BaekJoon-Study (github.com)

 

GitHub - GUuu9/BaekJoon-Study

Contribute to GUuu9/BaekJoon-Study development by creating an account on GitHub.

github.com