java BigDecimal을 이용해서 실수를 다뤄 봅시다.
백준에서 a^b꼴의 문제를 본 적이 있을 겁니다. 문제는 여기에서 풀어보실 수 있습니다. 물론, b는 0보다 크거나 같고 100보다는 작거나 같은 정수이고, a는 소수점 밑에 자리수가 9개까지 나올 수 있습니다. 사실, 저는 이것을 .을 기준으로 일일히 파싱해서 풀었습니다. 즉, .을 기준으로 나누면 j/m꼴이 됩니다. 그러니, (j/m)^b을 계산하는 문제로 바뀌고, m은 10^q꼴이니, j^b의 결과값에 따라서 적절히 잘 파싱하면 됩니다. 그런데, 그리 한다면, j는 최대 11자리 ~ 12자리의 정수로 바뀔 거고, b는 최대 100이니, 1100자. 결국 이 문제를 제대로 풀려면 큰 수 곱셈을 잘 구현해야 한다는 이야기가 되겠습니다. 이펙티브 자바가 있다면 정확한 답이 필요하다면 float와 doub..
구현
2020. 8. 23. 20:50
최근댓글