我需要能够在不使用任何外部java函数或库的情况下执行1938757289258398239399949292934/14583949053930202。我将号码的每个数字存储在一个链接列表中。我还可以做些什么?
有人可以帮我划分一个算法吗?我已经尝试了几个小时了,但一无所获。
最佳答案
“外部”Java 库? (BigInteger 是内置的,如果您可以使用它的话。)
否则,最简单的除法可能是二元除法,如下所示。您知道 log(a/b) = log(a) - log(b)
,因此您可以估计结果中的位数。令r
为结果。在伪代码中,
for i = the most significant bit the result could have, iterating down to 0
if (r + 2^i) * b <= a
r += 2^i
关于java - 我需要在java中除以非常大的数字而不使用任何外部库(家庭作业),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438935/