我正在解决这个问题problem6,我甚至不知道答案但是,当我完成时我认为我会好的,但我的答案会失败,7910956276398901303这是我的回答 1303 ,你能帮我解决这个错误,我不明白我的逻辑,代码是什么问题,它只是一个简单的电源功能
校正的
这是正确的代码
import java.math.BigDecimal;
public class Problema6 {
static BigDecimal sum = BigDecimal.valueOf(0);
static BigDecimal num = BigDecimal.valueOf(0);
public static void main(String args[]) {
int n = 2;
for (int i = 1; i <= 15; i++) {
sum = sum.add(power(i, n));
n++;
}
System.out.println(sum);
String number = sum.toString();
System.out.println(number.substring(number.length() - 4, number.length()));
}
public static BigDecimal power(int x, int y) {
num = BigDecimal.valueOf(x).pow(y).add(BigDecimal.valueOf(y).pow(x));
return num;
}
}
答案 0 :(得分:3)
我认为问题在于使用Math.pow(...)
。切换到BigDecimal.pow(...)
以避免溢出