=== 소 감 === === 코 드 === {{{~cpp #include int main() { int n, sum; n = 1; sum = 0; while(sum <=3000) { sum +=n; n++; } printf("n = %d, sum = %d", n, sum); system("PAUSE"); return 0; } }}} n을 ++ 하고 출력해 버렸음. !! 그래서 1 큰 수가 출력되었다. 디버깅 할 때 못찾아낸 아영은 바보 ? ㅎㅎ >>>수정시 ↓↓ {{{~cpp #include int main() { int n, sum; n = 0; sum = 0; while(sum <=3000) { n++; sum +=n; } printf("n = %d, sum = %d", n, sum); system("PAUSE"); return 0; } }}} === 나한테 할 말 === 소스에서 {{{~cpp sum +=n; n++; }}} 이부분의 순서가 잘못되었습니다.^^ 수행하면 n이 1이 크게나온답니다.^^ {{{~cpp n++; sum +=n; }}} 로 정정해주세요.^^ 그리고 n=1에서 n=0으로 바꾸어야 합니다.^^ -[조현태] - 실수했군요~ 고치겠음 ^^ -[허아영] {{{~cpp #include int main() { double n, sum; n = 0; sum = 0; while(sum <=18000000000000000000) { n++; sum +=n; } printf("n = %f, sum = %f", n, sum); system("PAUSE"); return 0; } }}} 만약에 3000까지가 아닌 더 큰 수를 입력하고 프로그램을 돌려보시겠어요? 위의 코드에서 int 를 double 형으로 바꾸고 3000 대신 18000000000000000000 을 넣은 코드입니다. 한번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 문제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개 흠. 아직도 돌아가고 있어요 -.- 루프가 무섭네요. 큰 수에서도 빠르게 돌아가는 방법이 뭐가 있을까 생각해 봐야겠군요.. -[허아영] ---- [LittleAOI] [반복문자열]