for문 질문입니다


        int total=0;
        for(int i=1; i<100; i++){
            total=total+i;

            System.out.println(total);
            }
        }

이코드 인데요 제가 해본결과 1 3 6 10 15 21 28 36 45 55 이렇게 주루룩 늘어나다가 4950 까지 나오더라구요

그런데 무슨 법칙으로 이렇게 늘어나는 건지 모르겠네요

total:0     i:1     더해진값: 1
total:1     i:2      더해진값:3
total:2     i:3      더해진값:5

이렇게 늘어나는것이 아닌가요? 5는 넘어가고 6이나오는데 이해가 안되서요!

  • 2016년 02월 22일에 작성됨

조회수 169


2 답변


좋아요
1
싫어요
채택취소하기
1
1+2 = 3
1+2+3 =6
1+2+3+4=10
1+2+3+4+5=15

이렇게 되는거져.

  • 2016년 02월 22일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

  • 죄송한데 6이 나올떄 3은 어디서 생기는건가요??? 헤깔리네요 ㅠㅠ    김지성   2016.2.22 18:43     

표를 그려서 설명을 드리자면

total 0 1 3 6 10 15 21 28 36
i 1 2 3 4 5 6 7 8 9
total+i(출력값) 1 3 6 10 15 21 28 36 45

이런식이됩니다. total:1과 i:2일때 더해진값:3이 total값으로 들어가서 다음에 오는 total의 값은 2가아니라 3입니다. 3+3이라서 6이되는것입니다.

  • 2016년 02월 22일에 작성됨

  • 정말 감사드립니다 ㅠㅠㅠㅠ    김지성   2016.2.22 18:44     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close