# Dritte Wurzel



## Naome (1. Juni 2004)

Wie kann ich in C++ eine dritte Wurzel einer zahl x nehmen?


----------



## Matthias Reitinger (1. Juni 2004)

Mithilfe von pow:

```
double dDritteWurzel;
dDritteWurzel = pow(x, 1/3);
```


----------



## klfe (16. Juni 2010)

Etwas sicherer:
double dDritteWurzel;
dDritteWurzel = pow(x, 1.0/3.0);


----------



## sheel (16. Juni 2010)

Da sich der Fragesteller sechs lange Jahre nicht gemeldet hat, dürfte es wohl schon funktionieren...


----------



## Matthias Reitinger (16. Juni 2010)

sheel hat gesagt.:


> Da sich der Fragesteller sechs lange Jahre nicht gemeldet hat, dürfte es wohl schon funktionieren...


Mein Vorschlag funktioniert definitiv nicht, ist also Quatsch. 1/3 ergibt nämlich (nach Abrunden wegen Ganzzahldivision) 0, wodurch bei meinem Code immer 1 rauskommt. Ich schieb das mal auf meinen damaligen jugendlichen Leichtsinn :-(

Grüße,
Matthias


----------



## norb (30. August 2010)

Aus irgendeinem Grund funktioniert das nicht für negative Zahlen. (-27)^(1./3.) sollte -3 sein, da (-3)*(-3)*(-3)=-27
ich hab das jetzt gelöst, indem ich den Betrag von x mit 1/3 potenziere, das ergebnis dann mit x multipliziere und anschließend nochmal durch den Betrag von x dividiere:

x^(1/3) = abs(x)^(1/3)*x/abs(x);

Auf die weise ist 27^(1/3)=3 und (-27)^(1/3)=-3

elegant ist das aber nicht, kennt da jemand einen besseren weg?


----------



## deepthroat (30. August 2010)

Hi.





norb hat gesagt.:


> Aus irgendeinem Grund funktioniert das nicht für negative Zahlen.


Generell gibt es keine Lösung für dieses Problem. Man kann auch den Standpunkt vertreten, dass Wurzeln negativer Zahlen generell undefiniert sind.


norb hat gesagt.:


> (-27)^(1./3.) sollte -3 sein, da (-3)*(-3)*(-3)=-27
> ich hab das jetzt gelöst, indem ich den Betrag von x mit 1/3 potenziere, das ergebnis dann mit x multipliziere und anschließend nochmal durch den Betrag von x dividiere:
> 
> x^(1/3) = abs(x)^(1/3)*x/abs(x);
> ...


Siehe http://de.wikipedia.org/wiki/Wurzel_(Mathematik)#Wurzeln_aus_negativen_Zahlen

Gruß


----------

