您的位置:首页 > 其它

HDU 1063 Exponentiation

2012-05-21 11:38 519 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1063

依然是高精度,和上一题很像,不过用上一题的方法一直超时?颇为费解。

查了几个函数的用法,直接用函数操作就不超时了?这题mark一下以后还要再看,对超时表示不太理解。

stripTrailingZeros()是去掉后缀0,toPlainString()是转成非指数型的字符串(上一题要知道这两个函数直接秒杀了哈。。。)。startsWith("//字符串1")判断给定字符串是否以字符串1开头(对应的还有endsWith())。

substring()的用法参考百度百科,看一眼就明白了:"unhappy".substring(2) returns "happy","Harbison".substring(3) returns "bison"

View Code

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin=new Scanner (new BufferedInputStream(System.in));
BigDecimal R,temp;
int n;
while(cin.hasNext())
{
R=cin.nextBigDecimal();
n=cin.nextInt();
String s=R.pow(n).stripTrailingZeros().toPlainString();
if(s.startsWith("0."))
s=s.substring(1);
System.out.println(s);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: