zoukankan      html  css  js  c++  java
  • java中大数的一些基本运算

    import java.math.BigInteger;
    import java.util.Scanner;
    
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		BigInteger a,b;
    		while(in.hasNext())
    		{
    			a = in.nextBigInteger();
    			b = in.nextBigInteger();
    			//四则运算
    			System.out.println(a.add(b));
    			System.out.println(a.subtract(b));
    			System.out.println(a.multiply(b));
    			System.out.println(a.divide(b));
    			System.out.println(a.remainder(b));
    			//大数比较
    			if(a.compareTo(b)==0)
    				System.out.println("a==b");
    			else if(a.compareTo(b)>0) 
    				System.out.println("a>b");
    			else {
    				System.out.println("a<b");
    			}
    			//绝对值
    			System.out.println(a.abs());
    			//幂
    			int fun = 10;
    			System.out.println(a.pow(fun));
    			//大数x进制的字符串表示
    			int x = 8;
    			System.out.println(a.toString(x));
    			//大数返回十进制的字符串表示
    			System.out.println(a.toString());
    		}
    	}
    }
    

    toPlainString() //转为普遍计数法输出

    //给一个字符串1.238761976E-10
    //如何得到0.0000000001238761976这个字符串呢?
    BigDecimal bd = new BigDecimal("1.238761976E-10");  
    System.out.println(bd.toPlainString());

    stripTrailingZeros() //去掉末尾0

    //给一个字符串1245600.000
    //如何得到1245600这个字符串?
    BigDecimal bd=new BigDecimal("1245600.000");
    System.out.println(bd.stripTrailingZeros());

    hdu1063

    import java.math.BigDecimal;
    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
        
            Scanner in = new Scanner(System.in);
            while(in.hasNext())
            {
                BigDecimal ans = BigDecimal.valueOf(1);
                BigDecimal a = in.nextBigDecimal();
                Integer n = in.nextInt();
                while(n-->0)
                    ans = ans.multiply(a);
                    String str = ans.stripTrailingZeros().toPlainString().toString();
                    if(str.charAt(0)=='0')
                        str = str.substring(1);
                    System.out.println(str);    
            }
            in.close();
        }
    }
    

    hdu 1753

    import java.math.BigDecimal;
    import java.util.Scanner;
    
    public class test1 {
    	public static void main(String[] args) {
    	
    		Scanner in = new Scanner(System.in);
    		while(in.hasNext())
    		{
    			BigDecimal a = in.nextBigDecimal();
    			BigDecimal b = in.nextBigDecimal();
    				a=a.add(b);
    				String str = a.stripTrailingZeros().toPlainString().toString();
    				if(str.charAt(0)=='0')
    					str = str.substring(1);
    				System.out.println(str);	
    		}
    		in.close();
    	}
    }
    
  • 相关阅读:
    访问者模式
    中介者模式
    策略模式
    迭代器模式
    责任链模式
    contentProvider模板
    android studio常用快捷键(不断补充)
    jqgrid表格列动态加载的实现
    Android View.onMeasure方法的理解(转载)
    activity的生命周期
  • 原文地址:https://www.cnblogs.com/qie-wei/p/10160143.html
Copyright © 2011-2022 走看看