Poj 1001 Java 大数直接Java水过~~~

在Oj上遇到有大数运算的题目,用Java水过最好不过了,这个题目如果是用C++来实现的话,可能会复杂许多。所以建议搞ACM的同学可能稍微的学习一下Java,只要掌握简单的东西就好了。不需要多么深入,至少要会Java大数的运算。

关于这道题目我就直接因为用Java做比较简单,所以我就直接贴代码了。

题意:输入实数a,整数n,求a的n次方,去掉后缀0,如果结果小于1,去掉前0,也就是说第一位变成小数点而不是0了

 

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.math.*;
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        while(in.hasNext()){
            BigDecimal val=in.nextBigDecimal();
            int n=in.nextInt();
            BigDecimal ret=val.pow(n).stripTrailingZeros();
            System.out.println( ret.toPlainString().replaceAll("^0", "") );
        }
    }
}

除非注明,饮水思源博客文章均为原创,转载请以链接形式标明本文地址

本文地址: http://www.alonemonkey.com/acmpoj1001.html

本文链接:http://www.alonemonkey.com/acmpoj1001.html