안녕하세요. 길벗 수험서 운영팀입니다.
1. 예제 4번에서 factorial(1)의 값이 왜 1이되는거죠?
[답변]
사용자정의함수 factorial(int n)을 보시면 아래와 같습니다.
|
① if ( n <= 1 ) ② return 1; ③ else ④ return n * factorial(n-1); |
1. factorial(1)은 n에 1을 저장합니다.
2. ①의 if문을 통해 n <= 1이 참이므로 ②를 실행합니다.
3. ② 1을 반환하므로 "factorial(1) = 1"이 됩니다.
2. 그리고 2×factorial(1)의 계산한 값이 왜 factorial(2)의 값이 되는거죠?
[답변]
위와 같은 방식으로 설명하겠습니다.
|
① if ( n <= 1 ) ② return 1; ③ else ④ return n * factorial(n-1); |
1. factorial(2)는 n에 2를 저장합니다.
2. ①의 if문을 통해 n <= 1이 거짓이므로 ④를 실행합니다.
3. ④ n * factorial(n-1)을 반환하므로 "factorial(2) = 2 * factorial(1)"이 됩니다.
행복한 하루되세요.^^
-
*2018-09-11 15:24:15
안녕하세요. 길벗 수험서 운영팀입니다.
1. 예제 4번에서 factorial(1)의 값이 왜 1이되는거죠?
[답변]
사용자정의함수 factorial(int n)을 보시면 아래와 같습니다.
① if ( n <= 1 )
② return 1;
③ else
④ return n * factorial(n-1);
1. factorial(1)은 n에 1을 저장합니다.
2. ①의 if문을 통해 n <= 1이 참이므로 ②를 실행합니다.
3. ② 1을 반환하므로 "factorial(1) = 1"이 됩니다.
2. 그리고 2×factorial(1)의 계산한 값이 왜 factorial(2)의 값이 되는거죠?
[답변]
위와 같은 방식으로 설명하겠습니다.
① if ( n <= 1 )
② return 1;
③ else
④ return n * factorial(n-1);
1. factorial(2)는 n에 2를 저장합니다.
2. ①의 if문을 통해 n <= 1이 거짓이므로 ④를 실행합니다.
3. ④ n * factorial(n-1)을 반환하므로 "factorial(2) = 2 * factorial(1)"이 됩니다.
행복한 하루되세요.^^