java大数(加减乘除+阶乘+高精度幂)

//JAVA 大数相加 
import java.io.*;  
import java.util.*;  
import java.math.*;  

public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
            BigInteger a = cin.nextBigInteger();
            BigInteger b = cin.nextBigInteger();
            BigInteger c = a.add(b);
            System.out.println(c);
    }
}


//JAVA 大数相减 
import java.io.*;  
import java.util.*;  
import java.math.*;  

public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
            BigInteger a = cin.nextBigInteger();
            BigInteger b = cin.nextBigInteger();
            BigInteger c = a.subtract(b);
            System.out.println(c);
    }
}


//JAVA 大数相乘 
import java.io.*;  
import java.util.*;  
import java.math.*;  

public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
            BigInteger a = cin.nextBigInteger();
            BigInteger b = cin.nextBigInteger();
            BigInteger c = a.multiply(b);
            System.out.println(c);
    }
}


//JAVA 大数相除 
import java.io.*;  
import java.util.*;  
import java.math.*;  

public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
            BigInteger a = cin.nextBigInteger();
            BigInteger b = cin.nextBigInteger();
            BigInteger c = a.divide(b);
            System.out.println(c);
    }
}


//JAVA 大数阶乘 
import java.io.*;  
import java.util.*;  
import java.math.*;  

public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);    
        int n = cin.nextInt(); //输入int型 
        BigInteger ans = BigInteger.ONE;//基本常量1
        for(int i = 1; i <= n; i++)
        ans = ans.multiply(BigInteger.valueOf(i));//将参数转换为大数类型
        System.out.println(ans);
    }
}


//java 大数比较大小 
import java.io.*;
import java.math.*;  
import java.util.*;


public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);    
        while(cin.hasNext()) //相当于!=EOF
        {
            BigInteger a = cin.nextBigInteger();
            BigInteger b = cin.nextBigInteger();
            if(a.equals(BigInteger.ZERO) && b.equals(BigInteger.ZERO)) break;//a和b都为0就break
            int flag = a.compareTo(b);
            if(flag == -1)
                System.out.println("a<b");
            else if(flag == 0)
                System.out.println("a==b");
            else
                System.out.println("a>b");
        }
    }
}


//JAVA 高精度幂 
import java.io.*;
import java.math.*; 
import java.util.*;

public class Main
{
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);    
        while(cin.hasNext())
        {
            BigDecimal ans = cin.nextBigDecimal();//BigDecimal相当于double,但是精度更高
            int n = cin.nextInt();
            String res = ans.pow(n).stripTrailingZeros().toPlainString();//去除后面无用的0比如5.100变为5.1  
            if(res.startsWith("0")) //去掉前导0比如0.01564变为.01564 
            {
                res = res.substring(1);
            }
            System.out.println(res);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/sugarbliss/article/details/80792657