Ihre Aufgabe ist es, die Quadratwurzel von 2 mit der Newtonschen Methode zu berechnen - mit einer leichten Drehung. Ihr Programm berechnet eine Iteration nach der Newton-Methode und gibt den Quellcode für die folgende Iteration aus (die dazu in der Lage sein muss).
Newtons Methode ist auf Wikipedia ziemlich ausführlich beschrieben
So berechnen Sie die Quadratwurzel 2 mit der Newton-Methode:
- Definieren
f(x) = x^2 - 2
- Definieren
f'(x) = 2x
- Definieren
x[0]
(die anfängliche Vermutung)= 1
- Definieren
x[n+1] = x[n] - (f[n] / f'[n])
Jede Iteration rückt x [n] näher an die Quadratwurzel von zwei. So -
x[0] = 1
x[1] = x[0] - f(x[0])/f'(x[0]) = 1 - (1 ^ 2 - 2) / (2 * 1) = 1.5
x[2] = x[1] - f(x[1])/f'(x[1]) = 1.5 - (1.5 ^ 2 - 2) / (2 * 1.5) = 1.416666667
x[3] = x[2] - f(x[2])/f'(x[1]) = 1.416666667 - (1.416666667 ^ 2 - 2) / (2 * 1.416666667) = 1.414215686
- und so weiter
Ihr Programm wird:
- Berechnen Sie,
x[n]
won
ist die Höhe der Zeit , das Programm ausgeführt wurde - Den Quellcode an ein gültiges Programm in derselben Sprache
x[n+1]
ausgeben, das die gleichen Kriterien für diese Frage berechnen und erfüllen muss . - Die erste Zeile des Quellcodes muss das korrekt kommentierte Berechnungsergebnis sein. Wenn die Quelle in der ersten Zeile etwas Bestimmtes (wie einen Schebang) erfordert, kann das Ergebnis in die zweite Zeile gestellt werden.
Beachten Sie, dass
- Ihr Programm muss eine erste Schätzung von verwenden
x[0] = 1
- Es gelten die Standard-Regelungslücken
- Alle eingebauten Power-, Quadratwurzel- oder Xroot-Funktionen sind verboten
- Ihr Programm darf keinerlei Eingaben akzeptieren. Es muss völlig in sich geschlossen sein.
Ihre Punktzahl entspricht der Größe Ihres ursprünglichen Programms in UTF-8-Bytes. Die niedrigste Punktzahl gewinnt.
x = x-(x*x-2)/(2*x)
?