这种题不得不拿出我的java了
要用toPlainString() 用tostring()保留的结果是科学计数法
然后stripTrailingZeros()去掉后面多余的0
最后判断一下开头是否是0就行
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
BigDecimal num1=in.nextBigDecimal();
int num=in.nextInt();
num1=num1.pow(num);
String str=num1.stripTrailingZeros().toPlainString();
if(str.charAt(0)=='0'&&str.charAt(1)=='.') {
for(int i=1;i<str.length();i++) System.out.print(str.charAt(i));
}
else
System.out.println(str);
}
}