| 문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
| 입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.
| 출력
첫째 줄에 N!을 출력한다.
| 예제 입력 1
10
| 예제 출력 1
3628800
| 예제 입력 2
0
| 예제 출력 2
1
| 문제의 키 포인트
1. 팩토리얼의 특징을 이해하고, 이를 재귀함수로 구현하자.
> 기본적인 팩토리얼은 아래와 같이 정의된다.
> 0의 경우 1
| 해결방안(Solution)
1. 함수를 만들고, 재귀함수 형태로 리턴값을 주면 된다.
| 소스코드(SourceCode)
// BOJ_10872_Factorial, 팩토리얼
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Factorial(int n);
int main(void)
{
int N;
scanf("%d", &N);
printf("%d", Factorial(N));
return 0;
}
int Factorial(int n)
{
if (n == 0)
{
return 1;
}
else
{
return Factorial(n - 1) * n;
}
}
| 문제출처
https://www.acmicpc.net/problem/10872
10872번: 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
반응형
'코딩 | 알고리즘 & 문제풀이 > 백준_Backjoon' 카테고리의 다른 글
[C언어] Backjoon_Code 2447, 별 찍기 - 10 (0) | 2021.08.05 |
---|---|
[C언어] Backjoon_Code 10870, 피보나치 수 (0) | 2021.08.04 |
[C언어] Backjoon_Code 1002, 터렛 (0) | 2021.08.02 |
[C언어] Backjoon_Code 3053, 택시 기하학 (0) | 2021.08.01 |
[C언어] Backjoon_Code 4153, 직각삼각형 (0) | 2021.07.31 |