책 내용 질문하기
문의
도서
[2013] 정보처리기사 실기
페이지
40
조회수
83
작성일
2014-03-31
작성자
첨부파일

40 페이지 4번 답이 i<19인건 알겠습니다.

1회전에 이미 1+2가 계산되었기 때문에 그렇다는것을요.

위와 유사한 44페이지 4번 답도 i<19까지인것도 이해했습니다

그러나 46페이지 5번답이 왜 i<10이 되는지 모르겠습니다.

1회전 돌려보면

i=2

j=j*i 이니까 j=2가 되고

k=k+j 이니까 k=1+2 즉 3이 되는데

여기서 k값 3은 1회전시 1!+2! 값 3이잖아요

그러면 40페이지와 44페이지와 유사하게 1회전에 벌써 2항까지 계산이 끝났는데 왜 i<10까지 되는지 이해가 안됩니다.

저는 i값을 정할때 아래와 같이 이해하고 있습니다.

만약 예를 들어 합계변수를 sum이라고 가정하고

sum의 초기값을 0이 아닌 수열의 첫번째 항의 값을 sum이라고 초기값을 주면

최종적으로는 무조건 1회전 덜 돌려야하는거 아닌가요?

ex)1+2+4+7+11.....10항까지의 합을 구해라

초기값 sum 1을 주면 다른 변수들 신경 쓰지 않고 어쨋든 첫째항이 1이고 sum값도 1이기 떄문에

1+2가 1회전이 되니 i<9까지만 돌리면 되는것으로 이해하고 있습니다.

만약 여기서 sum값이 0이면 1회전시 0+1이 되어야하기때문에 i<10까지 돌려야 되는것으로 알고 있구요..

설명좀 부탁드립니다.

답변
2014-04-01 09:18:47

안녕하세요.

i와 K 값만 놓고 확인해 보겠습니다.

초기값으로 i와 K가 모두 1을 가지고 시작하므로 첫 번째 항이 계산되었습니다.

i가 2일 때 K가 계산되어 두 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 3일 때 K가 계산되어 세 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 4일 때 K가 계산되어 네 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 5일 때 K가 계산되어 다섯 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 6일 때 K가 계산되어 여섯 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 7일 때 K가 계산되어 일곱 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 8일 때 K가 계산되어 여덟 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 9일 때 K가 계산되어 아홉 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

i가 10일 때 K가 계산되어 열 번째 항이 계산됩니다. 이후 i < 10은 NO로 처리가 종료됩니다.

i < 9까지 비교하게 되면 i는 9일 때 K가 계산되어 아홉 번째 항까지만 계산됩니다.

i 값과 회전수가 동일하게 처리됩니다.

그 이전에는 i가 0일 때 첫번째 항이 처리됩니다. 그래서 i가 19일 때 스무번째 항이 처리되는 형태죠.

이 알고리즘은 i가 1일 때 첫번재 항이 처리되므로 i가 10일 때까지 처리하는 것입니다.

오늘도 즐거운 하루 되세요.

"
  • *
    2014-04-01 09:18:47

    안녕하세요.

    i와 K 값만 놓고 확인해 보겠습니다.

    초기값으로 i와 K가 모두 1을 가지고 시작하므로 첫 번째 항이 계산되었습니다.

    i가 2일 때 K가 계산되어 두 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 3일 때 K가 계산되어 세 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 4일 때 K가 계산되어 네 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 5일 때 K가 계산되어 다섯 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 6일 때 K가 계산되어 여섯 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 7일 때 K가 계산되어 일곱 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 8일 때 K가 계산되어 여덟 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 9일 때 K가 계산되어 아홉 번째 항이 계산됩니다. 이후 i < 10은 YES로 반복 처리합니다.

    i가 10일 때 K가 계산되어 열 번째 항이 계산됩니다. 이후 i < 10은 NO로 처리가 종료됩니다.

    i < 9까지 비교하게 되면 i는 9일 때 K가 계산되어 아홉 번째 항까지만 계산됩니다.

    i 값과 회전수가 동일하게 처리됩니다.

    그 이전에는 i가 0일 때 첫번째 항이 처리됩니다. 그래서 i가 19일 때 스무번째 항이 처리되는 형태죠.

    이 알고리즘은 i가 1일 때 첫번재 항이 처리되므로 i가 10일 때까지 처리하는 것입니다.

    오늘도 즐거운 하루 되세요.

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