java中BigInteger用法
阿新 • • 發佈:2018-12-19
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
1 import java.math.BigInteger; 2 import java.util.Scanner; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 BigInteger sum = new BigInteger("1"); 8 Scanner input = new Scanner(System.in); 9 while(true) 10 { 11 BigInteger num = input.nextBigInteger(); 12 if(num .equals(BigInteger.ZERO ) ) break; 13 else sum = sum.multiply(num); 14 } 15 int cnt = 0; 16 System.out.println(sum); 17 while(true ) 18 { 19 BigInteger[] bis = sum.divideAndRemainder(BigInteger.TEN); 20 if(bis[1].equals(BigInteger.ZERO)) 21 { 22 cnt++; 23 sum = bis[0]; 24 } 25 else break; 26 27 28 } 29 System.out.println(cnt); 30 31 32 33 } 34 }
--------------------------------