gpt4 book ai didi

java - 如何找到 Java BigInteger 的平方根?

转载 作者:IT老高 更新时间:2023-10-28 20:29:11 26 4
gpt4 key购买 nike

是否有可以找到 BigInteger 平方根的库?我希望它离线计算 - 只计算一次,而不是在任何循环内。所以即使是计算昂贵的解决方案也可以。

我不想找到一些算法并实现。一个现成的解决方案将是完美的。

最佳答案

只是为了好玩:

public static BigInteger sqrt(BigInteger x) {
BigInteger div = BigInteger.ZERO.setBit(x.bitLength()/2);
BigInteger div2 = div;
// Loop until we hit the same value twice in a row, or wind
// up alternating.
for(;;) {
BigInteger y = div.add(x.divide(div)).shiftRight(1);
if (y.equals(div) || y.equals(div2))
return y;
div2 = div;
div = y;
}
}

关于java - 如何找到 Java BigInteger 的平方根?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com