Math.pow 보다 long형에 직접 지수 값을 계산하는 것이 나은 이유
Math.pow(double a , double b) 함수는 double 형을 인자로 받아 a의 b승을 계산하여 결과 값을 double 형을 반환하는 함수이다. double 자료형은 총 64bit로, 부호를 나타내는 1비트, 지수를 나타내는 11bit 그리고 유효 숫자를 나타내는 52bit로 이루어져 있다. 2의 52승 값은 4,503,599,627,370,500으로 double형의 유효숫자는 15자리 까지 안전하다. 3의 38승을 계산해보면, long p1 = 1; for (int i = 0; i < 38; i++) p1 *= 3; double p2 = Math.pow(3, 38); long p3 = (long) Math.pow(3, 38); System.out.println("3의 38승 값 : 13..
2021. 11. 2.
[백준] 1914. 하노이 탑
import java.math.BigInteger; import java.util.*; class Move { int from, to; public Move(int from, int to) { this.from = from; this.to = to; } } class Main { static int cnt = 0; static ArrayList arr; public static void Hanoi(int num, int from, int by, int to) { if (num == 1) { arr.add(new Move(from, to)); cnt++; } else { Hanoi(num - 1, from, to, by); arr.add(new Move(from, to)); cnt++; Hanoi(num ..
2021. 10. 8.