책 내용 질문하기
알고리즘 질문해봅니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
294
조회수
569
작성일
2019-02-14
작성자
탈퇴*원
첨부파일

8번에 i가 1일땐 K가 0이되어 빠져나오고 i가 2일때도 K가 0이되어 빠져나오는데,

6번의경우처럼 일반적인경우는 i가 가운데 숫자인 10이되면 빠져나오잖아요.

8번도 6번처럼 1이 되고 빠져나와야하는데 0이 되어야 빠져나오네요..

그냥 이런경우는 약속처럼 외워야하는건가요. 

답변
2019-02-15 11:10:32

안녕하세요 길벗수험서 운영팀입니다.

 

이 경우는 C의 for 반복문을 생각해보시면 됩니다.

 

for(; ; ) {

   ④;

}

 

위의 for문이 3회 반복한다고 가정했을 때, 순서는

1: , (조건 참),

2(조건 참),

3(조건 참),

4(조건 거짓) <탈출>

입니다.

 

예시로 숫자 괄호를 채워놓고 보면 아래와 같이 됩니다.

(i, cnt=0이 선언되었다고 가정)

 

for(i=1; i<=3; i++) {

   cnt++;

}

위의 for문이 종료된 뒤의 결과는 i는 4, cnt는 3이 되죠. i가 1로 시작하여 i++을 3번 수행했으니까요.

숫자가 감소할 때도 마찬가지 입니다.

 

for(i=3; i>=1; i--) {

   cnt++;

}

위의 for문이 종료된 뒤의 결과는 i는 0, cnt는 3이 되죠. i가 3으로 시작하여 i--를 3번 수행하였습니다.

 

행복한 하루 되세요 :)

  • 관리자
    2019-02-15 11:10:32

    안녕하세요 길벗수험서 운영팀입니다.

     

    이 경우는 C의 for 반복문을 생각해보시면 됩니다.

     

    for(; ; ) {

       ④;

    }

     

    위의 for문이 3회 반복한다고 가정했을 때, 순서는

    1: , (조건 참),

    2(조건 참),

    3(조건 참),

    4(조건 거짓) <탈출>

    입니다.

     

    예시로 숫자 괄호를 채워놓고 보면 아래와 같이 됩니다.

    (i, cnt=0이 선언되었다고 가정)

     

    for(i=1; i<=3; i++) {

       cnt++;

    }

    위의 for문이 종료된 뒤의 결과는 i는 4, cnt는 3이 되죠. i가 1로 시작하여 i++을 3번 수행했으니까요.

    숫자가 감소할 때도 마찬가지 입니다.

     

    for(i=3; i>=1; i--) {

       cnt++;

    }

    위의 for문이 종료된 뒤의 결과는 i는 0, cnt는 3이 되죠. i가 3으로 시작하여 i--를 3번 수행하였습니다.

     

    행복한 하루 되세요 :)

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