java大整数类的运算常常包括:加、减、乘、除,求余数、比较大小、高精度幂、max()函数,min()函数,abs()函数,gcd()函数等等。当我们遇到这类问题时用C或C++解决起来会觉得很麻烦(不过还是要尽量掌握),而java则给我们提供了非常方便的BigInteger类(大整数类)。
import java.util.Scanner;
import java.math.*;
public class test1 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
BigInteger a,b,c;
while(cin.hasNext()) {
a = cin.nextBigInteger();
b = cin.nextBigInteger();
c = cin.nextBigInteger();
System.out.println(a.add(b)); //add() 加法
System.out.println(a.subtract(b)); //substract() 减法
System.out.println(a.multiply(b)); //multiply() 乘法
System.out.println(a.divide(b)); //divide() 除法
System.out.println(a.mod(b)); // mod() 求模
System.out.println(a.gcd(b)); //gcd()求 a和b的最大公约数
System.out.println(c.abs()); //绝对值
System.out.println(a.max(b)); //max() a、b中较大的值
System.out.println(a.min(b)); //min() a、b中较小的值
System.out.println(a.equals(b)); //a、b是否相等,相等则输出true,否则输出false
}
cin.close();
}
}
多维数组的初始化:
BigInteger f[] = new BigInteger[110];
BigInteger c[][] = new BigInteger[110][110];
for ( int i = 0 ; i <= 100 ; i++ )
for ( int j = 0 ; j <= 100 ; j++ ) c[i][j] = BigInteger.valueOf(0); //别忘了初始化
大整数类的问题基本就会遇到这些,掌握了java的BigInteger类,这类问题基本都会一水而过,C/C++的实现过程这里就先不码了。