WA

lys8627 Reply 4 years 29 weeks ago
Visual 프로그램에 넣으면 답이 나오는데 혹시 어디가 틀렸는지 알 수 있을까요?
withcs2 Reply 4 years 28 weeks ago
20000의 세제곱을 구해보세요! s[i] += j * j * j; 이 코드는 우선 j*j*j 부터 계산한 다음에 s[i]와 더한 값을 계산합니다. j가 int형이므로 j*j*j 역시 int형이 되며, 이 때 overflow가 발생합니다. s[i]에 저장되면서 long long으로 변환되긴하지만 이미 발생한 overflow는 돌이킬 수 없습니다. * C언어에서 자료형 변환은 (int)j 이런 식으로 사용합니다. * overflow는 자료형의 범위를 벗어나는 값을 저장하려다가 쓰레기값이 되는 것을 말합니다.
lys8627 Reply 4 years 28 weeks ago
아 제가 너무 input에 작은수만 넣어서 답이 계속 맞다고 나오는걸로 착각한것 같습니다. 감사합니다.