題意:給你一個浮點數,一個整數,求浮點數的整數次方。
思路:大數解決,注意處理後面多余的零跟前面多余的零,以及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();
}
}