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());  // λ‹€μŒ μ†Œμˆ˜ 값을 λ°˜ν™˜ν•΄μ£ΌλŠ” λ©”μ†Œλ“œ
			}
		}
	}
}