Java 我的幂函数和的错误是什么?
我正在解决这个问题,我甚至不知道答案,但是,当我完成时,我想我会没事的,但是我的答案失败了,7910956276398901303这是我的答案1303,你能帮我解决这个错误吗,我不明白我的逻辑,代码是什么,它只是一个简单的幂函数 已更正 这是正确的代码 导入java.math.BigDecimal 公共类问题6{Java 我的幂函数和的错误是什么?,java,math,biginteger,Java,Math,Biginteger,我正在解决这个问题,我甚至不知道答案,但是,当我完成时,我想我会没事的,但是我的答案失败了,7910956276398901303这是我的答案1303,你能帮我解决这个错误吗,我不明白我的逻辑,代码是什么,它只是一个简单的幂函数 已更正 这是正确的代码 导入java.math.BigDecimal 公共类问题6{ static BigDecimal sum = BigDecimal.valueOf(0); static BigDecimal num = BigDecimal.valueOf(0)
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;
}
static BigDecimal sum=BigDecimal.valueOf(0);
静态BigDecimal num=BigDecimal.valueOf(0);
公共静态void main(字符串参数[]){
int n=2;
对于(int i=1;i我认为问题在于使用Math.pow(…)
。切换到BigDecimal.pow(…)
以避免溢出我认为问题在于使用Math.pow(…)
。切换到BigDecimal.pow(…)
为了避免溢出这与代码无关,我认为答案是正确的,但我不知道为什么我的答案是错误的尝试使用BigDecimal.pow(…)就像我说的。这就是为什么答案可能是错误的。谢谢你的帮助,我得到了被接受的答案,所有的代码都改成了BigDecimal,但你是怎么找到的呢?谢谢你,所有这些都与代码无关,我认为答案是正确的,但不是,我不知道为什么我的答案是错误的尝试使用BigDecimal.pow(…)就像我说的。这就是为什么答案可能是错误的。谢谢你的帮助,我得到了被接受的答案,所有的代码都改成了BigDecimal,但是你是怎么找到它的?谢谢你的帮助