java中大数运算Biginteger类的方法调用

/**

 * 大数运算

 * BigInteger

 * 9192次方

 * 求它除以100的余数

 * 大数运算Biginteger类的方法调用

 */

package com.test1;

import java.math.*;

import java.math.BigInteger;

publicclass test100 {

 

    /**

     * @param args

     */

    static BigInteger k=BigInteger.valueOf(1);

    static BigInteger j=BigInteger.valueOf(91);

    static BigInteger n;

    BigDecimal l=new BigDecimal("100");

    static BigInteger m=new BigInteger("100");

    publicstaticvoid main(String[] args) {

       // TODO Auto-generatedmethod stub

      

//     k=BigInteger.valueOf(1);

//     k=new BigInteger("1");

        for(int i=1;i<=92;i++){

           k=k.multiply(j);

            System.out.println(k.toString());

//         n=k.remainder(m);

            n=k.remainder(m);

            System.out.println(n.toString());

            

        }

 

    }

 

}

//java大数运算Biginteger类的方法调用

//以下代码与本练习没有必要关系,可以删除

class BigIntegerGet

{

    public String getAdd(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.add(BigInt2);//

        Str3=BigInt1.toString();

        return Str3;

    }

    public String getSubtract(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.subtract(BigInt2);//

        Str3=BigInt1.toString();      

        return Str3;

    }

    public String getMultiply(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.multiply(BigInt2);//

        Str3=BigInt1.toString();      

        return Str3;

    }

    public String getDivide(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

       BigInt1=BigInt1.divide(BigInt2);//

        Str3=BigInt1.toString();      

        return Str3;

    }

    public String getRemainder(StringStr1,String Str2){//

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.remainder(BigInt2);//余数

        Str3=BigInt1.toString();      

        return Str3;

    }

    public String getGcd(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.gcd(BigInt2);//最大公约数

        Str3=BigInt1.toString();      

        return Str3;

    }

    public String getPow(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        int Int2=Integer.valueOf(Str2);

        BigInt1=BigInt1.pow(Int2);//

        Str3=BigInt1.toString();      

        return Str3;

    }

    public String getMod(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

       BigInt1=BigInt1.mod(BigInt2);//

        Str3=BigInt1.toString();       

        return Str3;

    }

    public String getModInverse(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.modInverse(BigInt2);//倒数取模

        Str3=BigInt1.toString();       

        return Str3;

    }

    public String getMax(StringStr1,String Str2){

        String Str3=new String();

       BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.max(BigInt2);//返回较大一个数的值

        Str3=BigInt1.toString();       

        return Str3;

    }

    public String getMin(StringStr1,String Str2){

        String Str3=new String();

        BigInteger BigInt1=new BigInteger(Str1);

        BigInteger BigInt2=new BigInteger(Str2);

        BigInt1=BigInt1.min(BigInt2);//返回较小一个数的值

        Str3=BigInt1.toString();       

        return Str3;

    }

    publicint getHashcode(String Str){

        int hash=-1;

        BigInteger BigInt=new BigInteger(Str);

        hash=BigInt.hashCode();

        return hash;

    }

publicboolean getIsProbablePrime(String Str,int certainty){

        boolean flag=false;

        BigInteger BigInt=new BigInteger(Str);

        flag=BigInt.isProbablePrime(certainty);//素数

        return flag;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值