1. 程式人生 > >Java 大數運算

Java 大數運算

ext abs 表示 integer compare ring strong trac sta

import java.util.*;
import java.math.*;
public class Main{
    public static void main(String args[]){
       Scanner cin = new Scanner(System.in);
       BigInteger a, b;
      
       //以文件EOF結束
       while (cin.hasNext()){
           a = cin.nextBigInteger();
           b = cin.nextBigInteger();
          
           System.out.println(a.add(b)); //大整數加法
           System.out.println(a.subtract(b)); //大整數減法
           System.out.println(a.multiply(b)); //大整數乘法
           System.out.println(a.divide(b)); //大整數除法(取整)
           System.out.println(a.remainder(b)); //大整數取模
          
           //大整數的比較
           if( a.compareTo(b) == 0 ) System.out.println("a == b"); //大整數a==b
           else if( a.compareTo(b) > 0 ) System.out.println("a > b"); //大整數a>b
           else if( a.compareTo(b) < 0 ) System.out.println("a < b"); //大整數a<b
          
           //大整數絕對值
           System.out.println(a.abs()); //大整數a的絕對值
          
           //大整數的冪
           int exponent=10;
           System.out.println(a.pow(exponent)); //大整數a的exponent次冪
          
           //返回大整數十進制的字符串表示
           System.out.println(a.toString());
          
           //返回大整數p進制的字符串表示
           int p=8;
           System.out.println(a.toString(p));
       }
    }
}

  來自 FH 的大數運算

Java 大數運算