`

POJ 1001 Exponentiation

阅读更多
http://poj.org/problem?id=1001

大数求幂

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


import java.util.*;
import java.io.*;
import java.math.*;
public class Main
{
    static public void main(String[] args) throws IOException
    {
        Scanner cin =new Scanner(System.in);
        BigDecimal a;
        String s;
        int n;
        while (cin.hasNext())
        {
        	a = cin.nextBigDecimal();
        	n = cin.nextInt();
        	a = a.pow(n);    //计算a的n次方
        	s = a.stripTrailingZeros().toPlainString();    //去掉后缀0
        	if (s.startsWith("0."))
        		s = s.substring(1);    //根据题意去掉前0
        	System.out.println(s);
        }
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics