<팩토리얼>, 10872번
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1
10
예제 출력 1
3628800
풀이
이 문제는 양의 정수 하나를 입력받은 후 그 양의 정수의 팩토리얼 값을 구하는 프로그램을 제작하는 것이다. 나는 재귀 함수를 사용해서 이 문제를 풀이하려고 접근했다. 먼저, 양의 정수 하나를 num값에 입력받은 후 재귀적으로 함수를 구현하기 위해 return에 팩토리얼 함수를 –1만큼 감소 시킨 값을 적용시킨 후, 계속 재귀적으로 반복해 num 값이 0이 되면 return 1로 해서 종료시켰다.
#include <stdio.h>
int Factorial(int num)
{
if (num == 0)
return 1;
return num * Factorial(num - 1);
}
int main(void)
{
int num;
scanf("%d", &num);
printf("%d", Factorial(num));
return 0;
}