~cpp
#include <stdio.h>
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;
}
↓↓수정시
~cpp
#include <stdio.h>
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 <stdio.h>
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 을 넣은 코드입니다. 한번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 문제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개