mun dev

[Java] BigInteger 매우 큰 정수 표현 본문

공부/Java

[Java] BigInteger 매우 큰 정수 표현

mndev 2022. 12. 9. 16:05

매우 큰 정수 표현 BigInteger 


백준 문제를 푸는데 Small Input, Large Input과 같은 식으로 입력 또는 출력 값의 범위가 나눠져있었다. 

long타입을 써도 런타임 에러가 일어나길래  찾아보다가 BigInteger를 알게 되었다. 

 

 

거의 무한에 가까운 수를 표현할 때에는 BigInteger 클래스를 사용하면 된다! 

 

 

 

 

 

사칙연산을 하려면 BigInteger의 메서드를 사용해야 하는데 

밑에 표와 같이 더하기는 add, 빼기는 substract, 곱하기는 multiply, 나누기는 divide, 나머지는 remainder 메서드를 사용하여 연산하면 된다. 

 

 

더하기 add
빼기 substract
곱하기 multiply
나누기 divide
나머지 remainder 

 

밑에는 백준 엄청난 부자2 문제 풀이 코드이다. 

BigInteger를 사용하니 런타임 에러없이 잘 수행할 수 있었다!  

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
		Scanner sc= new Scanner(System.in);
		BigInteger n=sc.nextBigInteger();
		BigInteger m=sc.nextBigInteger();
		
		System.out.println(n.divide(m));
		System.out.println(n.remainder(m));
		
		sc.close();
	}

}