Java 大数的几道题目 nyist

import java.math.BigInteger;
import java.util.*;
/**
 * nyist 28
 * 大数阶乘
 */
public class Main28 {
    public static void main(String args[]) {
        Scanner cin = new Scanner(System.in);
        int n = cin.nextInt();
        BigInteger ans = BigInteger.ONE;
        for (int i = 1; i <= n; ++i)
            ans = ans.multiply(BigInteger.valueOf(i));
        System.out.println(ans);
    }
}
import java.math.BigInteger;
import java.util.Scanner;
public class Main103 {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int T = cin.nextInt();
        for (int i = 1; i <= T; i++) {
            BigInteger a = cin.nextBigInteger();
            BigInteger b = cin.nextBigInteger();
            System.out.println("Case " + i + ":");
            System.out.println(a + " + " + b + " = " +a.add(b));
        }
    }
}
import java.math.BigDecimal;
import java.util.*;
 /* poj 1001 nyist 155
 */
public class Main155 {
    public static void main(String args[]) {
        Scanner cin = new Scanner(System.in);
        while (cin.hasNext()) {    //  相当于c++的!=EOF。
            BigDecimal ans = cin.nextBigDecimal();
            int n = cin.nextInt();
            String res = ans.pow(n).stripTrailingZeros().toPlainString(); // 整数去掉小数点和后面的0, 返回不带指数字段的此 BigDecimal 的字符串表示形式。
            if (res.startsWith("0")) {  //去掉前导0
                res = res.substring(1);
            }
            System.out.println(res);
        }
    }
}

posted @ 2014-05-06 11:17  小尼人00  阅读(148)  评论(0编辑  收藏  举报