Jak obliczać pierwiastek

Dzisiaj się dowiedziałem, jak obliczać pierwiastek kwadratowy.

Wcześniej przeszukałem cały internet (jaki bylem w stanie) i nie poznałem, żadnego gotowego algorytmu implementacji obliczania pierwiastka kwadratowego. Co nie wpisałem "Obliczanie pierwiastka kwadratowego JAVA" itp, to wszędzie tylko mi wyskakiwały sugestie, abym skorzystał z java.lang.Math. No to, to każdy umie już na początku, ale ja chciałem sam napisać metodę, która będzie to liczyła. Ciekaw byłem jak to się robi.

I w końcu znalazłem wzór!

Otóż jeden zobaczyłem na stronie jakiejś uczelni, ale ciągle mi pętla nieskończona wychodziła, aż zdecydowałem się zastosować wzór z... Wikipedii :) i za pierwszym razem poszło!

adres strony jest tutaj, a metoda, której użyłem to babilońska.

Wzór wygląda tak:


Gdzie:
  • S - liczba do pierwiastkowania,
  • x0 - dowolna liczba większa od zera (serio dowolna, ja dla swoich obliczeń wziąłem połowę S),
  • xn - kolejne obliczanie.
Mój kod jest dostępny tutaj i wygląda tak:

private double number;

public double sqrt() {

        double num;
        num = number / 2d;

        while (true) {

            double num2 = (num + (number / num)) / 2d;

            if (num - num2 < 0.001d) {
                return num2;
            } else {
                num = num2;
            }
        }
    }

W Instrukcji warunkowej If jest liczba, która określa dokładność przybliżenia. Im mniejsza liczba, tym więcej operacji do wykonania, poza tym, to wszystko powinno być jasne.

Jak się już wie, to łatwe, prawda? :)


To tyle ode mnie, będę wdzięczny, jeśli teraz Ty podzielisz się ze mną, swoim dzisiejszym odkryciem w komentarzu :)

Komentarze

Popularne posty z tego bloga

IntelliJ: zmiana rozmiaru czcionki scrollem

ThunderBird: jak zrobić professional stopkę