1. 程式人生 > >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 

複製程式碼

 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 }

複製程式碼

 

--------------------------------

原創連線:https://www.cnblogs.com/unknownname/p/8823887.html