Solving Luogu High-Precision Arithmetic Problems with Java BigInteger

Java's standard library includes the BigInteger class, which simplifies handling arbitrary-precision inteegrs, eliminating the need to manually implement high-precision logic for basic arithmetic tasks.

P1303 A*B Problem

import java.math.BigInteger;
import java.util.Scanner;

public class MultiplyDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        BigInteger numX = new BigInteger(scanner.next());
        BigInteger numY = new BigInteger(scanner.next());
        System.out.println(numX.multiply(numY));
    }
}

P1601 A+B Problem (High Precision)

import java.math.BigInteger;
import java.util.Scanner;

public class AddDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        BigInteger numX = new BigInteger(scanner.next());
        BigInteger numY = new BigInteger(scanner.next());
        System.out.println(numX.add(numY));
    }
}

P1480 A/B Problem

import java.math.BigInteger;
import java.util.Scanner;

public class DivideDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        BigInteger dividend = new BigInteger(scanner.next());
        BigInteger divisor = new BigInteger(scanner.next());
        System.out.println(dividend.divide(divisor));
    }
}

P2005 A/B Problem II

import java.math.BigInteger;
import java.util.Scanner;

public class ExactDivision {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        BigInteger val1 = new BigInteger(scanner.next());
        BigInteger val2 = new BigInteger(scanner.next());
        System.out.println(val1.divide(val2));
    }
}

P1932 A+B A-B A*B A/B A%B Problem

import java.math.BigInteger;
import java.util.Scanner;

public class AllOperations {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        BigInteger first = new BigInteger(scanner.next());
        BigInteger second = new BigInteger(scanner.next());
        System.out.println(first.add(second));
        System.out.println(first.subtract(second));
        System.out.println(first.multiply(second));
        System.out.println(first.divide(second));
        System.out.println(first.mod(second));
    }
}

Tags: java BigInteger luogu high-precision arithmetic Competitive Programming

Posted on Wed, 15 Jul 2026 17:30:08 +0000 by endlyss