๊ด€๋ฆฌ ๋ฉ”๋‰ด

Jin's Dev Story

[JAVA] BigInteger ๋ณธ๋ฌธ

Programming Language/JAVA

[JAVA] BigInteger

woojin._. 2023. 10. 9. 09:13

๐Ÿ’ก ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด ์ˆซ์ž์˜ ๋ฒ”์œ„๊ฐ€ ๋ฌดํ•œํ•จ

 

Type ๋ฒ”์œ„
int -2,147,483,648 ~ 2,147,483,647
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 

BigInteger ๊ณ„์‚ฐ

  • ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ ์‚ฌ์น™์—ฐ์‚ฐ ๋ถˆ๊ฐ€ → ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ
BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("10000");
		
System.out.println("๋ง์…ˆ(+) :" +bigNumber1.add(bigNumber2));
System.out.println("๋บ„์…ˆ(-) :" +bigNumber1.subtract(bigNumber2));
System.out.println("๊ณฑ์…ˆ(*) :" +bigNumber1.multiply(bigNumber2));
System.out.println("๋‚˜๋ˆ—์…ˆ(/) :" +bigNumber1.divide(bigNumber2));
System.out.println("๋‚˜๋จธ์ง€(%) :" +bigNumber1.remainder(bigNumber2));

 

BigInteger ํ˜• ๋ณ€ํ™˜

BigInteger bigNumber = BigInteger.valueOf(100000); //int -> BigIntger

int int_bigNum = bigNumber.intValue(); //BigIntger -> int
long long_bigNum = bigNumber.longValue(); //BigIntger -> long
float float_bigNum = bigNumber.floatValue(); //BigIntger -> float
double double_bigNum = bigNumber.doubleValue(); //BigIntger -> double
String String_bigNum = bigNumber.toString(); //BigIntger -> String

 

BigIntger ๋‘ ์ˆ˜ ๋น„๊ต

BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("1000000");
		
//๋‘ ์ˆ˜ ๋น„๊ต compareTo ๋งž์œผ๋ฉด 0   ํ‹€๋ฆฌ๋ฉด -1
int compare = bigNumber1.compareTo(bigNumber2);
System.out.println(compare);

 

์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ

import java.io.*;
import java.math.BigInteger;

public class num4134 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n = Integer.parseInt(br.readLine());
		
		for(int i=0; i<n; i++) {
			BigInteger num = new BigInteger(String.valueOf(Long.parseLong(br.readLine())));
			
			if(num.isProbablePrime(10)) {  // ํ˜„์žฌ ๊ฐ’์ด ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฉ”์†Œ๋“œ
				System.out.println(num);
			} else {
				System.out.println(num.nextProbablePrime());  // ๋‹ค์Œ ์†Œ์ˆ˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ
			}
		}
	}
}