반응형
int 중간값 구하기
-
int 타입으로 21억의 중간값을 구하시오알고리즘 2021. 1. 7. 15:57
정수형 및 값의 범위가 있는 타입의 중간값을 구할때 실수하는 것이 있다. int mid = (a + b) /2 이 경우 a 와 b 가 작은값이면 상관없지만 int 범위 2,147,483,647 가까이 되는 숫자 21억 등의 숫자를 계산할때는 위와 같은 숫자 계산은 오버플로우가 난다. 그러므로 다음과 같이 수정해야 하다. int start = 2_000_000_000; int end = 1_000_000_000; int mid = start + (end - start) / 2;