Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.05 KB | None | 0 0
  1. import java.math.BigDecimal;
  2. import java.math.MathContext;
  3.  
  4. public class Pierwiastek {
  5.     private BigDecimal wartosc;
  6.     private BigDecimal precyzja;
  7.     private BigDecimal wynik;
  8.  
  9.     public Pierwiastek(BigDecimal wartosc, int precyzja) {
  10.         this.wartosc = wartosc;
  11.         this.wynik = wartosc;
  12.         this.precyzja = this.potegaOdwrotnosc(wartosc,precyzja);
  13.     }
  14.  
  15.  
  16.     private BigDecimal potegaOdwrotnosc(BigDecimal liczba, int wykladnik){
  17.         BigDecimal liczba_base = liczba;
  18.         while (wykladnik>1){
  19.             liczba = liczba.multiply(liczba_base);
  20.             wykladnik--;
  21.         }
  22.         return BigDecimal.valueOf(1).divide(liczba);
  23.     }
  24.     void newtonMethod(){
  25.         while ((wynik.subtract(wartosc.divide(wynik, new MathContext(10000))) ).abs().compareTo(precyzja.multiply(wynik))>0 ) {
  26.             wynik = ((wartosc.divide(wynik,new MathContext(10000))).add(wynik) ).divide(BigDecimal.valueOf(2.0),new MathContext(10000)) ;
  27.         }
  28.     }
  29.  
  30.     public BigDecimal getWynik() {
  31.         return wynik;
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement