http://poj.org/problem?id=1001
题意:给你一个浮点数,一个整数,求浮点数的整数次方。
思路:大数解决,注意处理后面多余的零跟前面多余的零,以及Java科学计数法的问题。
import java.math.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*sss*/
BigDecimal a, c, d;
int b ;
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
a = cin.nextBigDecimal();
b = cin.nextInt();
a = a.pow(b);
String s;
s = a.toPlainString(); //避免科学记数法(如果用a.toSting会存成科学记数法)
int start = 0;
while(s.charAt(start) == '0'){ //a.charAt(b) 取a字符串下标为b的字符
start++;
}
int end = s.length()-1;
while(s.charAt(end) == '0'){
end--;
}
if(s.charAt(end) == '.'){
end--;
}
for(int i = start; i <= end; ++i){
System.out.print(s.charAt(i));
}
System.out.println();
//System.out.println();//subtract-, add+, multiply* divide/
}
cin.close();
}
}