문제
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1 복사
10
예제 출력 1 복사
3628800
예제 입력 2 복사
0
예제 출력 2 복사
1
출처
- 문제를 만든 사람: baekjoon
#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)
'백준 코드 공부 > C언어' 카테고리의 다른 글
백준 1673 : 치킨 쿠폰 (C언어) (0) | 2021.12.05 |
---|---|
백준 9012 : 괄호 (C언어) (0) | 2021.12.05 |
백준 1259 : 팬릴드롬수 (C언어) (0) | 2021.12.05 |
백준 1764 : 듣보잡 (C언어) (2) | 2021.12.05 |
백준 1236 : 성지키기 (C언어) (0) | 2021.12.05 |