weasel   4년 전

이 문제에서 마지막에 (remainder * 10) / divisor 를 연속적으로 출력해야 하는데,

여기서 remainder와 divisor의 type을 unsigned long long 으로 사용하면 AC를 받고, long long으로 잡으면 WA를 받는 것을 확인했습니다.

범위가 크게 차이나지 않는 것으로 아는데, 어떻게 overflow를 막을 수 있는 건가요?

djm03178   4년 전

long long은 최댓값이 1000경이 조금 못 되고, unsigned long long은 1000경이 조금 넘습니다. 10^18 = 100경이니, 이 범위 내에서 * 10을 하면 long long은 오버플로우가 날 수 있고 unsigned long long은 안 납니다.

weasel   4년 전

궁금증이 깔끔하게 해결되었습니다. 감사합니다!

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