jay7211   6년 전

이 문제에서 sum과 jigak 배열을 int로 선언하면 계속 틀렸다고 나오길래

long long int로 바꿔주니 바로 맞았는데요.
혹시 제 코드의 나머지 연산에서 틀린 부분이 있는 건가요?
지적해주시면 감사하겠습니다.

ehddml3   6년 전

int형은 32bit를 사용한 정수형인데  21억 얼마쯤을 넘어가면 int형으로는 표현할 수가 없어서 overflow가 나게 되고 -값이 나오게 됩니다.

long long int 는 64bit를 사용하고 더 큰 숫자까지 담을 수 있는데요, (jigak0[i-1][0] + jigak0[i-1][1]) * (jigak0[n-i][0] + jigak0[n-i][1]); 이 부분에서

만약 (10만) * (10만) 정도라면 값은 10,000,000,000 인데 이 숫자는 int가 표현할 수 있는 범위를 넘어섭니다. 그래서 이상한 값이 나오게 되고 틀렸다고 나오는 것 같네용

jay7211   6년 전

아 저 부분을 체크 못했네요. 감사합니다!

댓글을 작성하려면 로그인해야 합니다.