Rekomendowane odpowiedzi

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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");	

	}
}

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.