-
Notifications
You must be signed in to change notification settings - Fork 0
/
Babylon.java
42 lines (40 loc) · 1.17 KB
/
Babylon.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package de.niklas.exercise.control;
/**
* <strong>Babylonisches Wurzelziehen (Heronverfahren)</strong><br>
* Ein alter iterativer Algorithmus zur Bestimmung
* einer rationalen Näherung der Quadratwurzel einer Zahl
*
* @see "06_Kontrollstrukturen_Aufgaben.pdf"
* @author Niklas Buse
*/
public class Babylon {
public static void main(String[] args) {
java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("Wurzel aus welcher Zahl ziehen? ");
double zahl = scan.nextInt();
double x1 = 0;
double x2 = 1;
while (Math.abs(x2-x1) > 0.000001){ // So lange, bis Unterschied kleiner als 10^-6 ist
x1 = x2;
x2 = (x1 + (zahl / x1)) /2;
System.out.println(x2);
};
System.out.printf("Die Wurzel aus %.0f ist %.2f", zahl, x2);
}
}
/* Beispielausführung
--------------------------------------
Eingabe: 143
--------------------------------------
Ausgabe:
72.0
36.99305555555556
20.429322972071002
13.714532729823066
12.070714129305212
11.95878456314772
11.958260754573612
11.958260743101398
Die Wurzel aus 143 ist 11,96
--------------------------------------
*/