Wurzel ziehen in c++ ohne cmath?

6 Antworten

Da es eine stetige Funktion mit genau einer Lösung ist, lässt sich das leicht iterativ lösen.

Dabei ein Epsilon vorgeben, das die geforderte Genauigkeit der Lösung definiert, und somit auch die Abbruchbedingung.

Woher ich das weiß:Berufserfahrung

Wenn es nicht auf Geschwindigkeit ankommt, sondern darum, gar keine math Header zu verwenden, dann gebe ich dir hier zwei Tipps:

Tipp 1



Oder allgemein



Tipp 2

Die pow() Funktion zur Potenzierung kannst du auch durch Multiplikation abbilden

Woher ich das weiß:Berufserfahrung – Berufserfahrung

xoticcounter 
Beitragsersteller
 21.11.2019, 13:30

Die Idee hatte ich auch aber leider kann ich nicht x^1/2 eingeben. Ich weiß nicht wie das zu implementieren ist

0

Du kannst die Funktionsdeklaration aus cmath in Deinen Quelltext kopieren.

Oder logarithmisch halbieren: x = exp(log(y)/2) , aber exp() und log() sind ja auch in cmath deklariert (?).

Oder Dich iterativ mit Testwerten bzw. deren Quadraten annähern.

Woher ich das weiß:eigene Erfahrung