다음 C언어 코드에 알맞는 출력값을 작성하시오.
#include <stdio.h>
int f(int n) {
if(n <= 1) return 1;
else return n * f(n-1);
}
int main() {
printf("%d", f(7));
}
if(n <= 1) return 1;
else return n * f(n-1);
n=1일 때 종료 조건 → 1 반환n * f(n-1) → 팩토리얼 정의 그대로 구현수학적 정의:
예: 7! = 7 × 6 × 5 × 4 × 3 × 2 × 1
f(7)
= 7 * f(6)
= 7 * (6 * f(5))
= 7 * 6 * (5 * f(4))
= 7 * 6 * 5 * (4 * f(3))
= 7 * 6 * 5 * 4 * (3 * f(2))
= 7 * 6 * 5 * 4 * 3 * (2 * f(1))
= 7 * 6 * 5 * 4 * 3 * 2 * 1
= 5040
5040
이 문제에서 꼭 알아야 할 개념:
f(n)은 팩토리얼 함수 구현f(7) = 7! = 5040