팩토리얼 수를 하나 입력 받아서 그 수의 팩토리얼을 계산하고, 출력하는 문제입니다. #include int fac(int num) { if (num == 0) { return 1; } else { return num * fac(num - 1); } } int main() { int num; scanf("%d", &num); printf("%d", fac(num)); } 별거 아니지만 직관적으로 보자마자 이해되지 않고 괜히 신기했기 때문에 잊지 않으려고 써봅니다. 팩토리얼을 계산하는 함수와 그 함수를 실행하는 메인함수로 구성되어 있습니다. 처음에, fac(num-1)을 곱하는게 무슨의미가 있지? 리턴값이 마지막 1밖에 없는데? 라는 생각이 들었지만 함수를 찬찬히 뜯어보자. num 에 5를 넣으면, num이..