java math pow 함수를 쓰는데 문제가 생겼습니다.

조회수 1577회

이번에 과제를 하는데 java math.pow함수를 써야하는 상황이 생겼습니다. 그런데 입력값을 long type변수를 집어 넣어야하는데 math.pow(double a, double b)라서 경우에 따라 원하는 값이 안나오는것 같습니다. 예를 들어 System.out.println((long)Math.pow(Long.parseLong("-1"),Long.parseLong("123456789010101011")));를 하면 -1을 홀수번 곱하기 때문에 -1이 나와야하는데 출력 값은 1이 나오네요.

그리고 System.out.println((long)Math.pow(Long.parseLong("3"),Long.parseLong("35")));을 입력하게 되면 출력값은 50031545098999704이 나오는데 계산기를 굴리면 50031545098999707이 나옵니다.

문제가 뭐고 어떻게 해결해야 할까요.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)