import java.math.BigDecimal;
import java.math.BigInteger;
/** 来 自 时 代 J a v a 公 众 号 - N o w J a v a . c o m**/
public class Main {
public static void main(String[] args) {
String n = "";
BigInteger my2P100000 = new BigInteger("0");
BigInteger two = new BigInteger("2");
my2P100000 = two.shiftLeft(2000 - 1);
System.out.println("Value of 2^2,000 " + my2P100000);
System.out.println("Finding the Square Root of 2^2000");
String mys = my2P100000 + "";
n = (mys);
int firsttime = 0;
BigDecimal myNumber = new BigDecimal(n);// 来 自 时代Java公众号
BigDecimal g = new BigDecimal("1");
BigDecimal my2 = new BigDecimal("2");
BigDecimal epsilon = new BigDecimal("0.0000000001");
BigDecimal nByg = myNumber.divide(g, 9, BigDecimal.ROUND_FLOOR);
BigDecimal nBygPlusg = nByg.add(g);
BigDecimal nBygPlusgHalf = nBygPlusg.divide(my2, 9, BigDecimal.ROUND_FLOOR);
BigDecimal saveg = nBygPlusgHalf;
firsttime = 99;
do {
g = nBygPlusgHalf;
nByg = myNumber.divide(g, 9, BigDecimal.ROUND_FLOOR);
nBygPlusg = nByg.add(g);
nBygPlusgHalf = nBygPlusg.divide(my2, 9, BigDecimal.ROUND_FLOOR);
BigDecimal savegdiff = saveg.subtract(nBygPlusgHalf);
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。