• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

41번 질문드립니다

19.08.15 10:25 작성 조회수 112

0

15 연속된 합 예를 들어주셨을때, 

7+8, 4+5+6 두가지 케이스에 대해선 설명해주셔서 이해를 했는데,

1+2+3+4+5 같은 케이스가 코드에서 어떻게 출력되는지 이해가 안가서 질문 드립니다!

 

위의 같은 경우 a가 (5-5)0이 되어서

while(a>0) 문 조차 들어가지 못하는데 어떻게 출력되는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

a가 5일 때 먼저 while(a>0)가 참이 되어 while문으로 들어간 후 a=a-b가 작동해 a는 0이 됩니다. 

그리고 아래  if(a%b==0)이 참이 되어 1+2+3+4+5=15를 출력합니다. (0을 5로 나무면 몫이 0이고

나머지도 0입니다.)

이런게 헷갈릴 때는 아래와 같이 표를 만들고 값을 써가며 머리로 디버그 해보는 것도 실력향상에 좋습니다.

아래 그림은 입력값은 15이고,  while문이 최초 실행될 때부터 진행해 본것입니다.