15829번 - Hashing
L의 숫자가 50에 가까워질만큼 커지면 데이터 오버플로우가 나는것인가요..?
만약 그렇다면 어떻게 해결해야 하나요??
i = 6 일 때 18번째 줄에서 cnt 값은 887503681 * 31 = 27512614111 가 되는데, 이 수는 int 범위를 초과하면서 잘못된 값을 계산합니다.
따라서 그 이후의 계산은 모두 잘못된 계산이 됩니다.
가장 간단한 해결책은 temp, sum 및 cnt 를 long long 형으로 바꾸고, 18번째 줄과 19번째 줄 사이에 cnt 에 mod 연산을 적용하는 것입니다.
감사합니다 !
댓글을 작성하려면 로그인해야 합니다.
kc1595 2년 전
L의 숫자가 50에 가까워질만큼 커지면 데이터 오버플로우가 나는것인가요..?
만약 그렇다면 어떻게 해결해야 하나요??