kc1595   2년 전

L의 숫자가 50에 가까워질만큼 커지면 데이터 오버플로우가 나는것인가요..?

만약 그렇다면 어떻게 해결해야 하나요??

bupjae   2년 전

i = 6 일 때 18번째 줄에서 cnt 값은 887503681 * 31 = 27512614111 가 되는데, 이 수는 int 범위를 초과하면서 잘못된 값을 계산합니다.

따라서 그 이후의 계산은 모두 잘못된 계산이 됩니다.

   

가장 간단한 해결책은 temp, sum 및 cnt 를 long long 형으로 바꾸고, 18번째 줄과 19번째 줄 사이에 cnt 에  mod 연산을 적용하는 것입니다. 

kc1595   2년 전

감사합니다 !

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