一、acwing791. 高精度加法
给定两个正整数,计算它们的和。
输入格式
共两行,每行包含一个整数。
输出格式
共一行,包含所求的和。
数据范围
1≤整数长度≤1000001≤整数长度≤100000
输入样例:
12 23
输出样例:
35
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; /** * @author zhouyanxiang * @Date 2021-01-2021/1/6-14:06 */ public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BigInteger n = new BigInteger(reader.readLine()); BigInteger m = new BigInteger(reader.readLine()); BigInteger x = m.add(n); reader.close(); System.out.println(x); } }
二、792. 高精度减法
给定两个正整数,计算它们的差,计算结果可能为负数。
输入格式
共两行,每行包含一个整数。
输出格式
共一行,包含所求的差。
数据范围
1≤整数长度≤1051≤整数长度≤105
输入样例:
32 11
输出样例:
21
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; /** * @author zhouyanxiang * @Date 2021-01-2021/1/6-14:15 */ public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BigInteger n = new BigInteger(reader.readLine()); BigInteger m = new BigInteger(reader.readLine()); BigInteger x = n.subtract(m); reader.close(); System.out.println(x); } }
三、793. 高精度乘法
给定两个正整数A和B,请你计算A * B的值。
输入格式
共两行,第一行包含整数A,第二行包含整数B。
输出格式
共一行,包含A * B的值。
数据范围
1≤A的长度≤1000001≤A的长度≤100000,
0≤B≤100000≤B≤10000
输入样例:
2 3
输出样例:
6
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal; import java.math.BigInteger; /** * @author zhouyanxiang * @Date 2021-01-2021/1/6-14:19 */ public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BigInteger n = new BigInteger(reader.readLine()); BigInteger m = new BigInteger(reader.readLine()); BigInteger x = n.multiply(m); reader.close(); System.out.println(x); } }
四、794. 高精度除法
给定两个非负整数A,B,请你计算 A / B的商和余数。
输入格式
共两行,第一行包含整数A,第二行包含整数B。
输出格式
共两行,第一行输出所求的商,第二行输出所求余数。
数据范围
1≤A的长度≤1000001≤A的长度≤100000,
1≤B≤100001≤B≤10000
BB 一定不为0
输入样例:
7 2
输出样例:
3 1
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; /** * @author zhouyanxiang * @Date 2021-01-2021/1/6-14:23 */ public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BigInteger n = new BigInteger(reader.readLine()); BigInteger m = new BigInteger(reader.readLine()); BigInteger x = n.divide(m); BigInteger s = n.mod(m); reader.close(); System.out.println(x); System.out.println(s); } }
加法运算:add()
减法运算:subtract()
乘法运算:multiply()
除法运算:divide()
取模运算:mod()