Wurzel ziehen in C

Status
Für weitere Antworten geschlossen.
danke reicht wenn du mich normal anredest und auserdem hab ich des jetz zum 3 mal geschrieben und deine antwort war ja auch ziemlich 9mal klug ;)
 
Kannst ja mal in die source von bc schaun, das ist ja mit arbiträrer Nachkommagenauigkeit.

Ich gehe sehr stark davon aus, dass es einen Library dafür gibt, die dann irgendwie für Nachkommastellen einfach ein Array mit ints nimmt. Oder so ähnlich. Sollte googlebar sein.
 
Ob's schneller geht weis ich nicht aber du könntest es über die Nullstelle der Steigungsfunktion machen..

f(x) = x^2 - a

a ist die Zahl aus der du die Wurzel haben willst, wegen mir 9
Logischerweise gibt es dann 2 Nullstellen auf -3 und 3

Jetzt könntest du die Steigungsfunktion (also die Linear-Funktion die der Steigung in einem Punkt entspricht) von der Funktion f(x) bei 1 bestimmen und dann die Nullstelle der Steigungsfunktion dies ist X-temp.
Dann wieder die Steigungspunktion um Punkt X-temp und so kommst du mit jedem Schritt der richtigen Nullstelle näher.. der 3. Schritt hat bereits den Wert 3.023529411 also ich denke mal noch 3-4 Mehr und du hast es genau genug..

http://www.unixboard.de/vb3/attachment.php?attachmentid=3275&stc=1&d=1229014963

Dieses Verfahren kann man auf jede Wurzel anwenden (auch die 3. Wurzel oder X. Wurzel, f(x) muss dabei aber angepasst werden). Ausnahmen sind Zahlen kleiner als 1 was durchaus möglich sein könnte z.B. "0,5. Wuzel aus 2" dies entspricht dann aber der Rechnung x^(1/0.5) = x^2, also einer normalen Potenzfunktion
 

Anhänge

  • Unbenannt-1.png
    Unbenannt-1.png
    14,4 KB · Aufrufe: 47
Zuletzt bearbeitet:
Was geht denn hier ab:
Das wird nach einer Lösung ohne Hilfsfunktionen gefragt, Beispiellösungen kommen.
Dann Lösungen welche den Anforderungen nicht gerecht werden.
Darauf wird hingewiesen und schon eine Seite weiter das Selbe.
Dann eine Lösung ohne Code-Tags. Irgendwo verständlich, wenn's das erste mal ist. Es wird darauf hingewiesen, aber kirz danach wieder das Gleiche.

Ähm, ließt hier die Hälfte der User nur die Überschrift und den letzten geposteten Post?
Mensch Meier.
 
Mal ganz davon abgesehen, dass dieser Thread schon 6 Jahr alt ist.. also ich stelle hier eine Lösung vor die durch exakt eine einzige Funktion lösbar wäre und nichts weiter erfordert als + - * /
Wer mit der Grafik noch nichts anfangen kann darf erst einmal selbst darüber nachdenken (das nennt sich Lerneffekt) um nicht alles was einem vor die Nase gestellt wird einfach schnell in C zu copy&pasten ohne eine Zeile verstanden zu haben
 
Mal ganz davon abgesehen, dass dieser Thread schon 6 Jahr alt ist.. also ich stelle hier eine Lösung vor die durch exakt eine einzige Funktion lösbar wäre und nichts weiter erfordert als + - * /
Wer mit der Grafik noch nichts anfangen kann darf erst einmal selbst darüber nachdenken (das nennt sich Lerneffekt) um nicht alles was einem vor die Nase gestellt wird einfach schnell in C zu copy&pasten ohne eine Zeile verstanden zu haben

Was übrigens das oben bereits beschriebene Heron-Verfahren, ein Spezialfall des Newton-Verfahrens, ist.
 
Ich hab' mir das grad so aus den Fingern gezogen - wenn's das schon gibt dann sucht halt danach deshalb steht da auch kein Name drunter von dem Ding ^.^
Nur eben in Derive getestet und hier gepostet.

Der Vorteil von diesem Dingen da ist, dass es mit steigender Anzahl an Wiederholungen nur genauer aber nicht wieder ungenauer werden kann.
 
BTW: es wurde (vor ewigen Zeiten, damals, als die Welt noch in Ordnung war) nach einer C Lösung gefragt (im Initialpost sowie im Subject). Die ersten fünf "Lösungen" fingen irgendwie mit "#include <iostream>" an und eine war gar php.
Ist doch traurig sowas.
 
Wow, da ist doch glatt ein 15 Jahre alter Thread wieder ausgegraben worden! :oldman Ich wusste gar nicht, dass es das Unixboard damals (2002) schon gab... :D
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Python checkbox in der Kommandozeile

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

Samba4 Freigabe erstellen

Luks keyfile over ssh

FreeBSD oder Linux?

Zurück
Oben