Matematyka za metodą babilońskiego pierwiastka kwadratowego [zamknięte]
Przeczytałem metodę obliczania pierwiastka kwadratowego z dowolnej liczby, a algorytm wygląda następująco:
double findSquareRoot(int n) {
double x = n;
double y = 1;
double e = 0.00001;
while(x-y >= e) {
x = (x+y)/2;
y = n/x;
}
return x;
}
Moje pytanie dotyczące tej metody jest
Jak oblicza pierwiastek kwadratowy? Nie rozumiałem za tym matematyki. W jaki sposóbx=(x+y)/2 and y=n/x
zbiega się do pierwiastka kwadratowego z n. Wyjaśnij tę matematykę.
Jaka jest złożoność tego algorytmu?