【发布时间】:2011-05-23 09:53:07
【问题描述】:
是否有可以找到 BigInteger 平方根的库?我希望它离线计算 - 只计算一次,而不是在任何循环内。所以即使是计算昂贵的解决方案也可以。
我不想找到一些算法并实现。一个现成的解决方案将是完美的。
【问题讨论】:
-
是将 BigInteger 转换为 java.lang.Math 可以使用的东西,还是需要保持为 BigInteger?
-
600851475143 是数字。它可以用数学可以使用的东西来表示吗?我做不到,所以求助于 BigInteger。如果您想知道,这与 ProjectEuler 的问题有关 :)
-
你的意思是一个数字一次吗?然后硬编码从说 wolframalpha 计算的值?
-
欧拉项目问题 3 =) 我认为数字 (600851475143) 可以存储为长 (
long n = 600851475143L)。 -
这里已经有这样的答案,但它远远落后于列表,所以我将它作为评论发布以提高可见性:使用 Guava 的 BigIntegerMath。 sqrt。这是一个经过大量测试和优化的解决方案。
标签: java biginteger square-root