Quellcode
- import java.math.*;
- /**
- *
- * @author Torben Brodt
- * @version 1.0
- *
- * <p />Zieht die Wurzel aus einer unendlich großen Zahl
- */
- public class A2_sqrt_BigInt {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- BigDecimal x = new BigDecimal("1234567891011121314151617181920");
- BigDecimal uG = new BigDecimal("0");
- BigDecimal oG = x.add(new BigDecimal(1));
- BigDecimal w = new BigDecimal("0");
- BigDecimal epsilon = new BigDecimal("0.0000001");
- do {
- w = uG.add(oG).divide(new BigDecimal(2));
- if(w.multiply(w).compareTo(x) > 0)
- oG = w;
- else
- uG = w;
- } while(oG.subtract(uG).compareTo(epsilon) > 0);
- System.out.println("Wurzel: "+w.setScale(7,BigDecimal.ROUND_HALF_UP));
- }
- }