| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我的简洁JAVA答案import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()){
BigDecimal R = in.nextBigDecimal();
int n = in.nextInt();
BigDecimal answer = R;
for(int i = 1; i < n; i ++)
answer = answer.multiply(R);
String ans = answer.toPlainString(); //toString is not enough here
if(ans.charAt(0) == '0' && ans.charAt(1)== '.')
ans = ans.substring(1, ans.length());
if(ans.contains("."))
{
boolean run = true;
int numOfZero = 0;
while(run)
{
if(ans.charAt(ans.length() - 1 - numOfZero) == '0')
numOfZero += 1;
else if(ans.charAt(ans.length() - 1 - numOfZero) == '.')
{
numOfZero += 1;
run = false;
}
else
run = false;
}
System.out.println(ans.substring(0, ans.length() - numOfZero));
}
else
System.out.println(ans);
}
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator