我想知道如何有效地划分 n 项并总结它们。我有 2 个数组,每个数组都包含大 Decimal,这些数组由名为 Apfloat 的外部库存储:
Apfloat[] nume=new Apfloat[n];
Apfloat[] deno==new Apfloat[n];
使用一个公式,我nume[]
用一些分数的分子来填充,我deno[]
用相同分数的分母来填充。现在我想找到这些分数的总和。所以,起初我只是将每个分子除以它对应的分母,然后将每个分子添加到一个变量sum
中,这样
sum=(nume[0]/deno[0])+(nume[1]/deno[1])+(nume[2]/deno[2])... +(nume[n]/deno[n]);
但是,这意味着我必须除以n
时间,而且由于除大数是一个非常耗时的过程,它会导致程序需要很长时间才能完成。
然后我尝试找到分母的 LCM 并将分子和分母乘以k
这样的数字 * k = LCM。这最后给了我一个分子和一个分母,所以我只需要除以 1 倍。然而,在这个过程中,我不得不乘以大约2n
倍,所以它比原来的方法慢,这让我想到了我的问题,有没有更有效/更快的方法来实现这一点?
提前致谢 :)