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?

questionAnswers(4)

yourAnswerToTheQuestion