Ocena użytkownikóww: ***** / 24
Nadesłany przez Michał Witaszek, 25 września 2012 19:53
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
pierwiastkowanie.cpp:
//Pierwiastek n-tego stopnia
//Michał Witaszek
//dla www.algorytm.org
#include <iostream>
#include <cmath>
using namespace std;
double pierwiastek(double a, double n)
{
//poczatkowe przyblizenie
double result = a;
//x^n-1
double tmp = pow(result,(n-1));
//dokladnosc obliczen
double e = 0.00000001;
//dopoki wynik jest mniej dokladny niz zadana wartosc
while (abs(a - tmp * result)>= e)
{
//oblicz nowe przyblizenie
result = 1/n*((n-1)*result + (a/tmp));
//x^n-1
tmp = pow(result, n-1);
}
return result;
}
int main()
{
double a,b;
cout << "Pierwiastek n-tego stopnia" << endl;
cout << "Liczba pierwiastkowana: ";
cin >> a;
cout << "Podstawa pierwiastka: ";
cin >> b;
cout << pierwiastek(a,b);
return 0;
}
(pierwiastek k-stopnia z liczby x to inaczej liczba x do potęgi 1/k)?
Jest znacznie prostszy i szybszy