Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.math.BigDecimal;
- import java.math.MathContext;
- public class Pierwiastek {
- private BigDecimal wartosc;
- private BigDecimal precyzja;
- private BigDecimal wynik;
- public Pierwiastek(BigDecimal wartosc, int precyzja) {
- this.wartosc = wartosc;
- this.wynik = wartosc;
- this.precyzja = this.potegaOdwrotnosc(wartosc,precyzja);
- }
- private BigDecimal potegaOdwrotnosc(BigDecimal liczba, int wykladnik){
- BigDecimal liczba_base = liczba;
- while (wykladnik>1){
- liczba = liczba.multiply(liczba_base);
- wykladnik--;
- }
- return BigDecimal.valueOf(1).divide(liczba);
- }
- void newtonMethod(){
- while ((wynik.subtract(wartosc.divide(wynik, new MathContext(10000))) ).abs().compareTo(precyzja.multiply(wynik))>0 ) {
- wynik = ((wartosc.divide(wynik,new MathContext(10000))).add(wynik) ).divide(BigDecimal.valueOf(2.0),new MathContext(10000)) ;
- }
- }
- public BigDecimal getWynik() {
- return wynik;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement