x-kom hosting

Java i pierwiastek

Mattii4211
utworzono
utworzono (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 przez Mattii4211

Matematyk0
komentarz
komentarz (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 przez Matematyk0
literówki + dodatkowa linijka
Mattii4211
komentarz
komentarz

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
komentarz

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.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.