Wurzel ganzzahliger Anteil

Neue Frage »

Thorsten82 Auf diesen Beitrag antworten »
Wurzel ganzzahliger Anteil
Hallo, ich möchte / muss die 3.Wurzel implementieren, nur mit der Einschränkung das ich nur mit Natürlichen Zahlen arbeiten kann! Das Ergebniss soll auch eine Natürliche zahl sein, besser gesagt die nächste Lösung zum eigentlichen Ergebniss, so dass der Fehler < 1 ist.

Besten Dank im Vorraus

MFG Thorsten
Dual Space Auf diesen Beitrag antworten »
RE: Wurzel ganzzahliger Anteil
Im wesentlichen, stehst du hier einem numerischen Problem gegenüber.

*verschoben*
Thorsten82 Auf diesen Beitrag antworten »

War mir da nicht so sicher wohin das Thema gehört smile

Irgendwo habe ich schonmal was gesehen zu diesem Problem nur leider finde ich nichts mehr unglücklich War auch garnicht so schwer wenn ich mich recht erinnern kann. Eine mathematische Notation würde mir ja reichen Coden kann ich selber Big Laugh Hammer
kiste Auf diesen Beitrag antworten »

Zitat:
Zum Ziehen der -ten Wurzel einer positiven reellen Zahl verwende man die Iteration


Du musst einen beliebigen Startwert nehmen der möglichst nahe am Ergebnis ist. Dann die folgende Interation ein paar mal durchlaufen lassen und später das Ergebnis checken smile

Im Prinzip ist das nur das Newtonverfahren, geklaut hier
Thorsten82 Auf diesen Beitrag antworten »

Du hast es ja schon gesagt reele zahl Augenzwinkern und die zwischenschritte erzeugen ebenfalls eine reelezahl.

Nur leider funktioniert das ja nicht so wie ich es brauche, da reele Zahlen nicht verarbeitet werden können. Mir ist schon klar das es nur eine "grobe" Näherungslösung ist, nur geht das halt nicht anders und für meine belange reicht das aus.
kiste Auf diesen Beitrag antworten »

Na und? Selbst wenn dadurch nur ein Integer bei dir erzeugt wird hast du eine Näherung die +-5 stimmt. Dann noch eine while Schleife oder so und du hast es.
Besser als for I in 1 .. zahl loop
if I*I*I - Zahl = 0
oder sowas ist es allemal
 
 
AD Auf diesen Beitrag antworten »

Ich bin mir jetzt nicht ganz sicher, aber so über den Daumen gepeilt müsste



für deine Belange auch ganz brauchbar sein, wenn man die anstehenden Divisionen durch Ganzzahldivisionen ersetzt, also mathematisch ausgedrückt



Da solltet du auch in der Nähe der gewünschten Wúrzel ankommen. Zumindest für kleine (also nur m=2,3 o.ä.) und "große" .


EDIT: Sorry, hatte den Beitrag von kiste noch nicht gelesen, der ähnliches ausdrückt. Augenzwinkern
Thorsten82 Auf diesen Beitrag antworten »

Jetzt hab ichs gerafft Big Laugh so habe ich auch den ganzzahligen Teil.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
    __int64 xn = 1024;
    int i=0;
	
  while (i<40)
  {
         xn = (2*xn*xn*xn+x) /(3*xn*xn);
        i++;
    }
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »