大整数运算 (java BigInteger类)

 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++的实现过程这里就先不码了。


你可能感兴趣的:(cf)