仿人的,很奇怪1、2、3一处也不能少,但没找着少了之后结果会不同的测试数据
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
new Main();
}
public Main() {
Scanner s = new Scanner(System.in);
while (true) {
BigDecimal n = s.nextBigDecimal();
int m = s.nextInt();
char[] c = n.pow(m).toPlainString().toCharArray();
int begin = 0;
int end = c.length - 1;
while (c[begin] == '0') {//1
begin++;
}
while (c[end] == '0') {//2
end--;
}
if (c[end] == '.') {//3
end--;
}
for (; begin <= end; begin++) {
System.out.print(c[begin]);
}
System.out.println();
}
}
}
http://blog.knowsky.com/197659.htm
下面的是我未通过的程序
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
BigDecimal d = new BigDecimal(10000);
public static void main(String[] args) {
new Main();
}
public Main() {
Scanner s = new Scanner(System.in);
while (s.hasNextFloat()) {
float n = s.nextFloat();
int m = s.nextInt();
System.out.println(exec((int) (n * 10000), m));
}
s.close();
}
public String exec(int a, int b) {
String result = new BigDecimal(a).pow(b).divide(d.pow(b)).toPlainString();
if (result.startsWith("0.")) {
return result.substring(1);
}
return result;
}
}
本文介绍了一个Java程序,该程序使用BigDecimal类进行大数的幂运算,并格式化输出结果,确保输出的小数点前后均不包含多余的零。文章通过具体代码示例展示了如何读取用户输入并进行相应的大数运算。

被折叠的 条评论
为什么被折叠?



