gpt4 book ai didi

java 如何计算双变量中所有数字的总和

转载 作者:行者123 更新时间:2023-12-01 14:50:23 25 4
gpt4 key购买 nike

我有这个代码,并且我成功地数到了 77! 数字。但是我有点困惑如何计算双变量中所有数字的总和?

77!= 1.4518309202828584E113。而且我不能在这里使用整数数据类型。我该怎么办?

package org.kodejava.example.io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Arrays;

public class Many {
public static void main(String[] args) {
System.out.println(factorial(77))
}

public static double factorial(double n) {
if (n == 0) return 1;
return n * factorial(n-1);
}
}

最佳答案

BigInteger 是救援
您可以使用 BigInteger 来处理此类情况

BigInteger bigInteger1 = new BigInteger ("123456789");
BigInteger bigInteger2 = new BigInteger ("112334");
BigInteger bigIntResult = bigInteger1.multiply(bigInteger2);
System.out.println("Result is ==> " + bigIntResult);

输出:

Result is ==> 13868394935526

上面的示例将让您了解如何将两个数字相乘。您可以使用自己的逻辑来使代码正常工作:)

用于添加

BigInteger sum = BigInteger.valueOf(0);
for(int i = 2; i < 500; i++) {

sum = sum.add(BigInteger.valueOf(i));

}

阶乘

public static BigInteger factorial(BigInteger n) {
BigInteger result = BigInteger.ONE;

while (!n.equals(BigInteger.ZERO)) {
result = result.multiply(n);
n = n.subtract(BigInteger.ONE);
}

return result;
}

注意 BigInteger 是不可变的,因此您需要重新分配该值。

关于java 如何计算双变量中所有数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14935632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com