找到将两个非常大的整数的总和除以相等块的步骤
Find step to divide sum of two very big ints on equal chunks
我有两个限制 - start 和 end 是长值。我需要找到 step 以在相等的块上划分 start 和 end 之间的距离。
所以公式实际上如下:
(end - start)/1000
其中 1000 是块的数量。当开始是 Long.MIN_VALUE 或接近它并且结束是 Long.MAX_VALUE.
时,问题就来了
谢谢
您可以改用 BigInteger
:
BigInteger bigStart = BigInteger.valueOf(start);
BigInteger bigEnd = BigInteger.valueOf(end);
BigInteger bigDiv = BigInteger.valueOf(1000);
BigInteger step = bigEnd.subtract(bigStart).divide(bigDiv);
我有两个限制 - start 和 end 是长值。我需要找到 step 以在相等的块上划分 start 和 end 之间的距离。
所以公式实际上如下:
(end - start)/1000
其中 1000 是块的数量。当开始是 Long.MIN_VALUE 或接近它并且结束是 Long.MAX_VALUE.
时,问题就来了谢谢
您可以改用 BigInteger
:
BigInteger bigStart = BigInteger.valueOf(start);
BigInteger bigEnd = BigInteger.valueOf(end);
BigInteger bigDiv = BigInteger.valueOf(1000);
BigInteger step = bigEnd.subtract(bigStart).divide(bigDiv);