【发布时间】:2019-05-29 19:56:48
【问题描述】:
我需要计算这样的东西(伪代码):
// a, b, x, y are long, x,y <= 10^12
long i = (a - n)/(x*y)
和
long j = (b - n)/(x*y) - ceiling
有时 x*y 不适合长。我想避免使用 BigDecimal/BigInteger,因为它成本太高而且在其他任何地方都不需要。是否有智能数学解决方案,例如有两个长或类似的东西?
谢谢!
更新:对不起,伙计们,还有一个限制:我还有一个计算如下的变量(也许它也可以重写):
sum += x*y
我需要重新计算它以与另一个变量进行比较以停止循环。
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: java algorithm optimization bigdecimal