책 내용 질문하기
1권 알고리즘 응용편에서 76페이지 c언어 답이 이해가 안되어서요
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
76
조회수
239
작성일
2019-06-14
작성자
탈퇴*원
첨부파일

1권 알고리즘 응용편에서 76페이지 c언어 답이 이해가 안되어서요.

문제3번 초기값 i=10, i=i-1

 i%3==1  일때  hap=hap+i

i>1보다 클때까지만 합을 구하는데,

9, 8, 7, 6, 5, 4, 3, 2, 1

3으로 나눈 나머지가 1일때는  7, 4 면 합이 11인데 왜 "12"가 된느지 궁금합니다. 빠른 답변 부탁드립니다.

 

답변
2019-06-17 10:25:25

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

 

while (i>1) 을 i가 2일 때 통과했다고 가정해보세요.

2>1은 참이니 while문 내를 수행하게 됩니다.

 

i--; 를 만나 i는 1이 되고,

if(i%3==1) 에서 1을 3으로 나누면 몫은 0 나머지는 1 이 되니 참입니다.

때문에 hap += i가 수행되어 12가 되죠.

 

다음 while (i>1)에서 i>1이 거짓이 되어 printf문으로 빠져나가게 됩니다.

 

각 코드의 첫 부분 마지막 부분은 한줄한줄 따라가면서 디버깅하는 연습을 하는 것이 좋습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-17 10:25:25

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

     

    while (i>1) 을 i가 2일 때 통과했다고 가정해보세요.

    2>1은 참이니 while문 내를 수행하게 됩니다.

     

    i--; 를 만나 i는 1이 되고,

    if(i%3==1) 에서 1을 3으로 나누면 몫은 0 나머지는 1 이 되니 참입니다.

    때문에 hap += i가 수행되어 12가 되죠.

     

    다음 while (i>1)에서 i>1이 거짓이 되어 printf문으로 빠져나가게 됩니다.

     

    각 코드의 첫 부분 마지막 부분은 한줄한줄 따라가면서 디버깅하는 연습을 하는 것이 좋습니다.

     

    행복한 하루되세요 :)

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