biginteger 6

Java의 BigInteger 클래스

Java에서 정수는 기본적으로 int와 long 타입으로 표현된다. 그러나 이들 타입은 각각 32비트와 64비트의 크기 제한이 있어, 매우 큰 정수를 처리할 수 없다. 이를 해결하기 위해 Java는 java.math.BigInteger 클래스를 제공한다. 이 클래스는 임의의 크기를 가진 정수를 다룰 수 있도록 해주며, 기본적인 산술 연산, 비트 조작, 소수 판별 등의 기능이 가능하다.BigInteger는 불변 객체(immutable)로 설계되어, 객체의 상태를 변경하는 대신 새로운 객체를 생성하는 방식으로 동작한다. 따라서, BigInteger는 메모리와 성능 면에서 주의가 필요하지만, 큰 정수를 안전하게 처리할 수 있는 강력한 도구이다.

알아가기/Java 2024.11.25

[Java] 백준 풀기 10826 - 피보나치 수 4

자바 백준 10826번 실버 5 https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍, 임의 정밀도, 큰 수 연산 코드 풀이 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner..

공부하기/백준 2024.04.19

[Java] 백준 풀기 4150 - 피보나치 수

자바 백준 4150번 브론즈 1 https://www.acmicpc.net/problem/4150 4150번: 피보나치 수 피보나치 수열은 다음과 같이 그 전 두 항의 합으로 계산되는 수열이다. 첫 두 항은 1로 정의된다. f(1) = 1, f(2) = 1, f(n > 2) = f(n − 1) + f(n − 2) 정수를 입력받아, 그에 해당하는 피보나치 수를 출력 www.acmicpc.net 문제 보기 분류: 임의 정밀도, 큰 수 연산 코드 풀이 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(Syste..

공부하기/백준 2024.04.13

[Java] 백준 풀기 1793 - 타일링

자바 백준 1793번 실버 2 https://www.acmicpc.net/problem/1793 1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 n이 주어진다. www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍, 임의 정밀도, 큰 수 계산 코드 풀이 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력값이 있는 동안 계속 반복 while (sc.hasNext()) { // n을 입력 int..

공부하기/백준 2024.04.11

[Java] 백준 풀기 24264 - 알고리즘 수업 - 알고리즘의 수행 시간 3

자바 백준 24264번 브론즈 3 https://www.acmicpc.net/problem/24264 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산, 시뮬레이션 코드 풀이 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(Syst..

공부하기/백준 2024.02.07

[Java] 백준 풀기 2338 - 긴자리 계산

자바 백준 2338번 브론즈 5 https://www.acmicpc.net/problem/2338 2338번: 긴자리 계산 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미). www.acmicpc.net 문제 보기 분류: 수학, 사칙연산, 임의 정밀도, 큰 수 연산 코드 보기 import java.util.Scanner; import java.math.BigInteger; public class ArithmeticOperations { public static void main(String[] args) { Scanner sc = new Scanner(System.i..

공부하기/백준 2023.12.28