책 내용 질문하기
질문이요~~
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
88
조회수
48
작성일
2018-09-10
작성자
탈퇴*원
첨부파일
1. 예제 4번에서 factorial(1)의 값이 왜 1이되는거죠? 2. 그리고 2×factorial(1)의 계산한 값이 왜 factorial(2)의 값이 되는거죠?
답변
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)"이 됩니다.

행복한 하루되세요.^^

  • *
    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)"이 됩니다.

    행복한 하루되세요.^^

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.