java中BigInteger用法


java中BigInteger用法

1.賦值:

BigInteger a = new BigInteger("1");

BigInteger b = BigInteger.valueOf(1);

2.運算:

① add(); 大整數相加

BigInteger a=new BigInteger(“23”); 
BigInteger b=new BigInteger(“34”); 

a. add(b);

②subtract(); 相減 
③multiply(); 相乘 
④divide(); 相除取整 
⑤remainder(); 取余 
⑥pow(); a.pow(b)=a^b 
⑦gcd(); 最大公約數 
⑧abs(); 絕對值 
⑨negate(); 取反數 
⑩mod(); a.mod(b)=a%b=a.remainder(b); 

3.BigInteger構造函數:
一般用到以下兩種:

BigInteger(String val);

將指定字符串轉換為十進制表示形式;

BigInteger(String val,int radix); 

將指定基數的 BigInteger 的字符串表示形式轉換為 BigInteger
4.基本常量:

A=BigInteger.ONE 1 
B=BigInteger.TEN 10 
C=BigInteger.ZERO 0 
5.n.compareTo(BigInteger.ZERO)==0  //相當於n==0
6.if(a[i].compareTo(n)>=0 &&a[i].compareTo(m)<=0)  // a[i]>=n && a[i]<=m 
import java.math.BigInteger;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        BigInteger sum = new BigInteger("1");
        Scanner input   = new Scanner(System.in);
        while(true)
        {
            BigInteger num = input.nextBigInteger();
            if(num .equals(BigInteger.ZERO ) ) break;
            else sum = sum.multiply(num);
        }
        int cnt = 0;
        System.out.println(sum);
        while(true )
        {
            BigInteger[] bis = sum.divideAndRemainder(BigInteger.TEN);
            if(bis[1].equals(BigInteger.ZERO))
            {
                cnt++;
                sum = bis[0];
            }
            else break;

        }
        System.out.println(cnt);

    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM