浅谈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); }
}
上一篇:Win7 64位 VS2015环境使用SDL2-2.0.4


下一篇:BZOJ 2728: [HNOI2012]与非(位运算)