• Java大数


    转自:https://www.cnblogs.com/zufezzt/p/4794271.html

    import java.util.*;
    import java.math.*;
    public class Main{
        public static void main(String args[]){
           Scanner cin = new Scanner(System.in);
           BigInteger a, b;
          
           //以文件EOF结束
           while (cin.hasNext()){
               a = cin.nextBigInteger();
               b = cin.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"); //大整数a==b
               else if( a.compareTo(b) > 0 ) System.out.println("a > b"); //大整数a>b
               else if( a.compareTo(b) < 0 ) System.out.println("a < b"); //大整数a<b
              
               //大整数绝对值
               System.out.println(a.abs()); //大整数a的绝对值
              
               //大整数的幂
               int exponent=10;
               System.out.println(a.pow(exponent)); //大整数a的exponent次幂
              
               //返回大整数十进制的字符串表示
               System.out.println(a.toString());
              
               //返回大整数p进制的字符串表示
               int p=8;
               System.out.println(a.toString(p));
           }
        }
    }

    转自:https://blog.csdn.net/morejarphone/article/details/51884888

    HDU 1002

    a+b大数版

     1 import java.math.BigInteger;
     2 import java.util.Scanner;
     3 
     4 public class Main {
     5     void solve () {
     6         BigInteger a, b, c;
     7         Scanner cin = new Scanner(System.in);
     8         int t = cin.nextInt ();
     9         for (int i = 1; i <= t; i++) {
    10             System.out.println ("Case " + i + ":");
    11             a = cin.nextBigInteger ();
    12             b = cin.nextBigInteger ();
    13             System.out.println (a + " + " + b + " = " + a.add (b));
    14             if (i != t) System.out.println ();
    15         }
    16     }
    17     public static void main (String[] args) {
    18         Main work = new Main();
    19         work.solve ();
    20     }
    21 }

    HDU 1042

    阶乘大数版

     1 import java.math.BigInteger;
     2 import java.util.Scanner;
     3 
     4 public class Main {
     5     int maxn = 10005;
     6     void solve () {
     7         Scanner cin = new Scanner(System.in);
     8         int n;
     9         while (cin.hasNext()) {
    10             n = cin.nextInt ();
    11             BigInteger ans = BigInteger.valueOf (1);
    12             for (int i = 2; i <= n; i++) {
    13                 ans = ans.multiply (BigInteger.valueOf (i));
    14             }
    15             System.out.println (ans);
    16         }
    17     }
    18     public static void main (String[] args) {
    19         Main work = new Main();
    20         work.solve ();
    21     }
    22 }

    HDU 1297

    f(n)=f(n1)+f(n2)+f(n4)f(n)=f(n−1)+f(n−2)+f(n−4)

    import java.math.*;
    import java.util.*;
    
    public class Main {
        void solve () {
            Scanner cin = new Scanner(System.in);
            BigInteger[] ans = new BigInteger[1001];
            ans[1] = BigInteger.valueOf (1);
            ans[2] = BigInteger.valueOf (2);
            ans[3] = BigInteger.valueOf (4);
            ans[4] = BigInteger.valueOf (7);
            for (int i = 5; i <= 1000; i++) {
                ans[i] = ans[i-1].add (ans[i-2].add (ans[i-4]));
            }
            while (cin.hasNext ()) {
                int n = cin.nextInt ();
                System.out.println (ans[n]);
            }
        }
        public static void main (String[] args) {
            Main work = new Main();
            work.solve ();
        }
    }

    HDU 1753

    高精度小数A+B,要去掉末尾的后导0.

    import java.math.*;
    import java.util.*;
    
    public class Main {
        void solve () {
            //BigInteger a, b, c;
            Scanner cin = new Scanner(System.in);
            BigDecimal a = BigDecimal.valueOf (0);
            BigDecimal b = BigDecimal.valueOf (0);
            while (cin.hasNext ()) {
                a = cin.nextBigDecimal ();
                b = cin.nextBigDecimal ();
                System.out.println (a.add (b).stripTrailingZeros().toPlainString());
            }
        }
        public static void main (String[] args) {
            Main work = new Main();
            work.solve ();
        }
    }
  • 相关阅读:
    一起谈.NET技术,用PagePaser创建Page作为HttpHandler 狼人:
    一起谈.NET技术,Visual Studio 2010构建Web浏览器应用程序 狼人:
    一起谈.NET技术,C#中的lock关键字 狼人:
    一起谈.NET技术,OnLoad与Page_Load的差异分析 狼人:
    一起谈.NET技术,使用LINQ Expression构建Query Object 狼人:
    一起谈.NET技术,Visual Studio 2008单元测试_数据库测试 狼人:
    一起谈.NET技术,ASP.NET绑定的技巧 狼人:
    动态加载js和css
    错误:该行已经属于另一个表
    c#中转义符总结
  • 原文地址:https://www.cnblogs.com/upc201713/p/8979347.html
Copyright © 2020-2023  润新知