JAVA大数加法

1005 大数加法

基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏  关注
给出2个大整数A,B,计算A+B的结果。

Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 10000 需注意:A B有可能为负数)
Output
输出A + B
Input示例
68932147586
468711654886
Output示例
537643802472

import java.math.BigInteger;
import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BigInteger a, b, c;
		Scanner in = new Scanner(System.in);
		while (in.hasNextBigInteger()){
			a = in.nextBigInteger();
			b = in.nextBigInteger();
		System.out.println(a.add(b));
		}
		
	}
 
}

java大整数类其他用法:

package Factorial;  
  
import java.math.BigInteger;  
import java.util.Random;  
/** 
 * 测试BigInteger类的一些函数 
 * @author stormjing
 * */  
public class BigIntegerDemo {  
    public static void main(String[] arguments){  
        System.out.println("构造两个BigInteger对象: ");  
        //BigInteger(int numBits, Random rnd)   
        //构造一个随机生成的 BigInteger,它是在 0 到 (2^numBits - 1)(包括)范围内均匀分布的值  
        BigInteger bi1 =  new BigInteger(55,new Random());  
        System.out.println("bi1 = " + bi1);  
          
        //BigInteger(byte[] val)   
        //将包含 BigInteger 的二进制补码表示形式的 byte 数组转换为 BigInteger。  
        BigInteger bi2 = new BigInteger(new byte[]{3,2,3});  
        System.out.println("bi2 = " + bi2);  
          
        //加  
        System.out.println("bi1 + bi2 = " + bi1.add(bi2));  
        //减  
        System.out.println("bi1 - bi2 = " + bi1.subtract(bi2));  
        //乘  
        System.out.println("bi1 * bi2 = " + bi1.multiply(bi2));  
        //指数运算  
        System.out.println("bi1的2次方 = " + bi1.pow(2));  
        //整数商  
        System.out.println("bi1/bi2的整数商: " + bi1.divide(bi2));  
        //余数  
        System.out.println("bi1/bi2的余数: " + bi1.remainder(bi2));  
        //整数商+余数  
        System.out.println("bi1 / bi2 = " + bi1.divideAndRemainder(bi2)[0] +   
                "--" + bi1.divideAndRemainder(bi2)[1]);  
        System.out.println("bi1 + bi2 = " + bi1.add(bi2));  
        //比较大小,也可以用max()和min()  
        if(bi1.compareTo(bi2) > 0)  
  
               System.out.println("bd1 is greater than bd2");  
  
           else if(bi1.compareTo(bi2) == 0)  
  
               System.out.println("bd1 is equal to bd2");  
  
           else if(bi1.compareTo(bi2) < 0)  
  
               System.out.println("bd1 is lower than bd2");  
        //返回相反数  
        BigInteger bi3 = bi1.negate();  
        System.out.println("bi1的相反数: " + bi3);  
        //返回绝对值  
        System.out.println("bi1的绝对值:  " + bi3.abs());  
    }  
  
}  

你可能感兴趣的:(模板_总结)