[POJ]1001 乘方计算

Description
Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for many computer systems.

This problem requires that you write a program to compute the exact value of Rn where R is a real number ( 0.0 < R < 99.999 ) and n is an integer such that 0 < n <= 25.
Input
The input will consist of a set of pairs of values for R and n. The R value will occupy columns 1 through 6, and the n value will be in columns 8 and 9.
Output
The output will consist of one line for each line of input giving the exact value of R^n. Leading zeros should be suppressed in the output. Insignificant trailing zeros must not be printed. Don’t print the decimal point if the result is an integer.

题目描述:这个没什么说的了,求一个浮点数R的n次方。输出在一行中,给出准确的R的n次幂,开头为0的输出应省略,无意义的末位零绝不能出现。若输出为整数,则不能输出小数点。题目限制还是很多的。

算法思想: 刚查阅资料,java中有一个关于BigDecimal的类,专门是封装了关于大数的处理。来试一试。

```
import java.math.BigDecimal;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);
        while (input.hasNext()) {
            String bigNumberString = input.next();
            int n = input.nextInt();
            BigDecimal R = new BigDecimal(bigNumberString);
            R = R.pow(n);
            String answer = R.stripTrailingZeros().toPlainString();
            if (answer.charAt(0) == '0') {
                answer = answer.substring(1);
            }
            System.out.println(answer);         
        }

    }
}

这里有一些BigDecimal类的方法说明一下。
stripTrailingZeros() ,去掉BigDecimal后面的0。
toPlainString(),返回BigDecimal类型的String类型字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值