BigDecimal b=BigDecimal.valueOf(1.000);
if(a.compareTo(b)==0) 结果是true
a.compareTo(b) 返回值 -1 小于 0 等于 1 大于
这次学到了两个之前不会的函数
第一个是高精度的大小比较:
BigDecimal b=BigDecimal.valueOf(1.000);
if(a.compareTo(b)==0) 结果是true
a.compareTo(b) 返回值 -1 小于 0 等于 1 大于
第二个是乘法运算,这里直接写出所有常用的好了:
add加, subtract减, multiply乘,divide除, mod模
用法如:c=a.add(b);
恩。。。大概,就是这样了
代码如下:
import java.io.*;
import java.util.*;
import java.math.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(new BufferedInputStream(System.in));
BigDecimal a,s;
int p;
while(cin.hasNext()) {
a=cin.nextBigDecimal();
p=cin.nextInt();
s=BigDecimal.valueOf(1);
for(int i=1;i<=p;++i) {
s=s.multiply(a);
}
s=s.stripTrailingZeros();
if(s.compareTo(BigDecimal.valueOf(1))<0) {
String ans=s.toPlainString();
for(int i=1;i!=ans.length();++i) {
System.out.print(ans.charAt(i));
}
System.out.println();
}
else {
String ans=s.toPlainString();
System.out.println(ans);
}
}
}
}