gpt4 book ai didi

java - 并行阶乘计算直到给定数字的所有元素

转载 作者:行者123 更新时间:2023-12-01 06:09:17 25 4
gpt4 key购买 nike

我的任务是编写一个计算 pi(Chudnovsky 公式)的并行程序。但是,它在计算中具有阶乘。因此,为了分解任务,我想在开始计算公式之前计算阶乘(即计算所有阶乘,将它们存储在某处,然后在需要读取时读取它们,而不是在点)。

我在这里阅读了几个问题,但它们是关于单个阶乘数的并行计算。当我需要计算给定索引之前的所有数字时,它们并不是很有帮助(它们基于并行求和/乘积方法)。有人对任务的良好分解有想法吗?

最佳答案

为此,您可以应用动态编程。动态规划是一种以最有效的方式解决问题的方法。这实际上避免了一次又一次地计算子问题。对于阶乘 n,您总是将 n 乘以 (n-1)!如果您应用此方法,我认为计算所有阶乘的更快方法是串行:

    BigInteger current = BigInteger.ONE;
List<BigInteger> fact = new ArrayList<>();
fact.add(BigInteger.ONE);
for (int i = 1; i <= n; i++) {
current = current.multiply(BigInteger.valueOf(i));
fact.add(current);
}

关于java - 并行阶乘计算直到给定数字的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38421608/

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