책 내용 질문하기
76page 3번 문제
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
76
조회수
819
작성일
2019-03-26
작성자
탈퇴*원
첨부파일

알고리즘 76 페이지 3번 문제

결과값이 12가 아니라 11 아닌가요..

 

I = 1 일때  처리문이 실행 안되야 하는게 맞는거 아닌지요?

 

답변
2019-03-27 11:02:03

안녕하세요.

 

i를 3으로 나눈 나머지가 1인 경우인 i 값은

7, 4, 1입니다.

7을 3으로 나누면 몫이 2이고 나머지가 1입니다.

4를 3으로 나누면 몫이 1이고 나머지가 1입니다.

1을 3으로 나누면 몫이 0이고 나머지가 1입니다.

 

자신보다 작은 수를 나눌 경우 몫은 0이되고 나머지는 나눠지는 수가 됩니다.

 

그러므로 7+4+1 = 12가 됩니다.

 

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

  • 관리자
    2019-03-27 11:02:03

    안녕하세요.

     

    i를 3으로 나눈 나머지가 1인 경우인 i 값은

    7, 4, 1입니다.

    7을 3으로 나누면 몫이 2이고 나머지가 1입니다.

    4를 3으로 나누면 몫이 1이고 나머지가 1입니다.

    1을 3으로 나누면 몫이 0이고 나머지가 1입니다.

     

    자신보다 작은 수를 나눌 경우 몫은 0이되고 나머지는 나눠지는 수가 됩니다.

     

    그러므로 7+4+1 = 12가 됩니다.

     

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

  • 관리자
    2019-03-28 10:26:11

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

     

    while문의 위치와 변수의 변화를 파악하셔야 합니다.

     

    1. while (i > 1) {

    2.    i--;

    3.    if (i % 3 == 1)

    4.        hap += i;

    }

     

    1. 에서 i값이 3일때 부터 진행해 보겠습니다.

     

    1. 3>1이므로 2.를 수행

    2. i는 1 감소하여 i=2

    3. i%3은 2이므로 1.을 수행

    1. 2>1이므로 2.를 수행

    2. i는 1 감소하여 i=1 

    3. i%3은 1이므로 4.를 수행

    4. hap += 1

     

    이렇게 됩니다.

     

    while문을 만날 때 i는 2에서 통과하지만

    i--를 수행하고 if문을 만날때 i는 1이 되게 되는 것이죠.

     

    행복한 하루되세요 :)

  • *
    2019-03-27 20:18:28

    I 가 1일 경우에는 1보다 크지않으므로 

     

    처리문을 실행하지 않고 반복문에서 빠져 나오는 거 아닌가요?

     

    즉, 덧셈의 대상은 7 하고 4 아닌가요?

     

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