algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Obliczanie pierwiastka n-tego stopnia - Implementacja w C/C++
Ocena użytkownikóww: *****  / 24
SłabyŚwietny
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;
}
Komentarze
photo
+7 # Krzysiek13 2013-05-13 13:07
Czy nie lepiej użyć wzoru exp(log(x)/k)
(pierwiastek k-stopnia z liczby x to inaczej liczba x do potęgi 1/k)?

Jest znacznie prostszy i szybszy
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+1 # Rokita 2014-03-13 15:24
GENialne rozwiazanie ! GENIUSZ!!
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-1 # Merlinek12 2015-12-26 02:50
Jak Krzysiek13 jest taki hop hop geniusz to niech objaśni jak kalkulator liczy x^(1/n) np.: 5 podniesione do potęgi (1/10)
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz