책 내용 질문하기
문제4번 이해안되서 질문합니다/
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
76
조회수
93
작성일
2018-04-08
작성자
탈퇴*원
첨부파일

풀이봐도 이해안되고 , 코딩해봐도 이해가 안되네요

코딩 실행시 답이 12인것은 확인했는데,

#include

main()

{

int i = 10, hap = 0;

while (i>1)

{

i-;

if (i % 3 ==1)

hap += i;

}

printf("d\n",hap);

}

의 결과값을 예측하는 문제인데

왜 11이 아니라 12인가요?

i가 1이되면 더이상 수행안되니까 i안에 들어가는값은 2~10 인데

3으로 나눠서 나머지가 1이되는 경우는 7 ,4 아닌가요?

어디서 1이 나오는지 이해가 안됩니다

답변
2018-04-09 10:27:53

안녕하세요.

자신보다 작은 값을 나눌 때 나머지는 나눠지는 값 자체입니다.

즉 3으로 나눌 때 나머지가 1이 되는 경우는

7, 4, 1이 됩니다.

1 % 3은 몫이 0이고 나머지가 1입니다.

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

  • *
    2018-04-09 10:27:53

    안녕하세요.

    자신보다 작은 값을 나눌 때 나머지는 나눠지는 값 자체입니다.

    즉 3으로 나눌 때 나머지가 1이 되는 경우는

    7, 4, 1이 됩니다.

    1 % 3은 몫이 0이고 나머지가 1입니다.

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

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