문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예시
입력 출력 10 3628800 0 1
#include <stdio.h>
int factorial(int num) {
return num * factorial(num - 1);
}
int main() {
int n, result;
scanf("%d", &n);
result = factorial(n);
printf("%d", result);
return 0;
}
결과는 시간초과
재귀함수가 멈추는 구간을 설정하지 않았다.
1 이하일 때 1을 return
하는 조건문을 작성해야한다.
#include <stdio.h>
int factorial(int num) {
if (num <= 1) {
return 1;
}
return num * factorial(num - 1);
}
int main() {
int n, result;
scanf("%d", &n);
result = factorial(n);
printf("%d", result);
return 0;
}
결과는 맞았습니다!!