Mattii4211 utworzono 11 października 2017 utworzono 11 października 2017 (edytowane) Mam napisać program obliczający pierwiastek n-tego (n jest liczbą naturalną) stopnia z liczby całkowitej. I tu pojawia się problem, ponieważ nie mogę użyć metod z Math. Liczę na pomoc. z góry dzięki . Edytowane 11 października 2017 przez Mattii4211
Matematyk0 komentarz 11 października 2017 komentarz 11 października 2017 (edytowane) Korzystając ze wzorów i informacji tu: http://www.algorytm.org/algorytmy-arytmetyczne/obliczanie-pierwiastka-n-tego-stopnia.html, powinieneś dać radę napisać taki algorytm w Javie. Wtedy wystarczy jedna pętla (np. while(Xpoprzednie - Xobecne > e) - niech szuka przybliżeń tak długo, jak nie będziesz miał odpowiedniej dokładności przybliżenia, w ostateczności zamiast e możesz wstawić 0), weź tylko pod uwagę, że w magicznym wzorku masz indeks k, a za wzorkiem j - chodziło im o to samo, więc zastosuj dowolną z nich. Program na 20 linijek No i pamiętaj o odpowiednich typach - a, n, k/j powinny być typu int, pozostałe double/float. Edytowane 11 października 2017 przez Matematyk0 literówki + dodatkowa linijka
Mattii4211 komentarz 12 października 2017 Autor komentarz 12 października 2017 Mam coś takiego, ale gdzieś mam błąd class zad1 { public static double pow(double a, double n) { if(n == 0) return 1; else return a * pow(a, --n); } public static double sqrt(double a, double n) { double result = a; double tmp = pow(result, (n - 1)); double e = 0.00000001; while(a - tmp * result >= e) { result = (1/n) * ((n-1) * result + (a / tmp)); tmp = pow(result, n-1); } return result; } public static void main(String[] args){ if(args.length > 1) { //System.out.println(pow(Double.parseDouble(args[0]), Double.parseDouble(args[1]))); double sqrt1 = sqrt(Double.parseDouble(args[0]), Double.parseDouble(args[1])); System.out.println("Pierwiastek z " + args[0] + " stopnia " + args[1] + " wynosi: " + sqrt1); } else System.out.println("Brak argumentow"); } }
Jacek1995 komentarz 17 października 2017 komentarz 17 października 2017 Napisałeś że nie możesz korzystać z biblioteki Math, a jednak jej używasz?
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.