http://acm.nyist.net/JudgeOnline/problem.php?pid=155
注意去除前导0,去除和小数最后面的0.要用到stripTrailingZeros函数,另外要注意,高精度浮点数BigDecimal类计算输出自动按照科学计数法来,要用toPlainString函数恢复最初状态。
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String...args){
while(cin.hasNext()){
a = cin.nextBigDecimal();
int powNum = cin.nextInt();
res = a.pow(powNum);
if(a.compareTo(BigDecimal.ONE) >= 0)
System.out.println(res.stripTrailingZeros().toPlainString());
else{
String result = res.stripTrailingZeros().toPlainString();
for(int i = 1; i < result.length(); i++)
System.out.print(result.charAt(i));
System.out.println();
}
}
}
public static BigDecimal a, res;
static Scanner cin = new Scanner(System.in);
}