Die Herausforderung
Die plastische Zahl ist eine Zahl im Zusammenhang mit dem Goldenen Schnitt mit vielen interessanten mathematischen Eigenschaften. Daher gibt es viele Ansätze, mit denen die Anzahl berechnet werden kann.
Um die Nummer für die Zwecke dieser Herausforderung genau anzugeben, verwenden wir die folgende Definition (obwohl es viele gleichwertige Definitionen gibt und Sie jede beliebige Definition verwenden können, solange es sich um dieselbe Nummer handelt):
Die plastische Zahl ist eine reelle Zahl ρ, so dass ρ ³ = ρ +1 ist.
Ihre Herausforderung besteht darin, ein Programm oder eine Funktion zu schreiben, die eine Ganzzahl x als Eingabe (mit x > 1) verwendet und eine Annäherung an ρ als Ausgabe erzeugt. Je größer der Wert von x, desto näher kommt die Ausgabe an ρ ( mit höchstens endlich vielen Ausnahmen, wobei der gleiche Wert für diesen Zweck als "näher" gilt), und für jede positive Zahl δ gibt es eine Eingabe x in Ihrem Programm, die eine Ausgabe erzeugt, die innerhalb von δ von ρ liegt .
Klarstellungen
- Wenn Sie über eine Methode ausgeben, die von Natur aus Zeichenfolgen ausgibt (z. B. den Standardausgabestream), können Sie die Ausgabe entweder als Dezimalzahl (z. B.
1.3247179572
) oder als Verhältnis von zwei Ganzzahlen mit einem/
Zeichen dazwischen formatieren . - Wenn Sie in Ihrer Programmiersprache einen Wert ausgeben (z. B. von einer Funktion zurückkehren), muss dieser vom Typ Festkomma, Gleitkomma oder Rational sein. (Insbesondere können Sie keine Datentypen verwenden, in denen Zahlen symbolisch gespeichert werden, es sei denn, sie dienen nur zum Speichern des Verhältnisses zweier Ganzzahlen. Wenn Sie also Mathematica oder eine ähnliche Sprache verwenden, müssen Sie die zusätzlichen Zahlen einschließen Code, um die Ziffern der Ausgabe zu generieren.)
- Ihre Antwort muss in einer hypothetischen Variante Ihrer Sprache funktionieren, in der ganze Zahlen beliebig groß sein können und der Speicher (einschließlich Stapel) unbegrenzt ist. Sie können nicht davon ausgehen, dass die Gleitkomma-Arithmetik in Ihrer Sprache willkürlich genau ist, sondern müssen stattdessen ihre tatsächliche Genauigkeit verwenden (was bedeutet, dass die Ausgabe einer Gleitkommazahl nur in Sprachen möglich ist, in denen die Genauigkeit von Gleitkommazahlen möglich ist) zur Laufzeit gesteuert).
- x kann eine beliebige Bedeutung haben (solange die Erhöhung die Ausgabe genauer macht). Ich stelle mir vor, dass bei den meisten Einsendungen die Anzahl der zu erzeugenden Stellen der Ausgabe oder die Anzahl der Iterationen des von Ihrem Programm verwendeten Algorithmus zur Konvergenz der plastischen Zahl gesteuert wird. Andere Bedeutungen sind jedoch akzeptabel.
Testfall
Hier sind die ersten Ziffern der Kunststoffnummer:
1.32471795724474602596090885
Weitere Ziffern sind auf OEIS verfügbar .
Siegbedingung
Wie für Code-Golf üblich , ist kürzer besser, gemessen in Bytes. Sie können jedoch auch dann Antworten veröffentlichen, wenn Sie nicht gewinnen, sofern Sie den vorhandenen Antworten etwas hinzufügen (z. B. eine andere Sprache oder einen anderen Algorithmus).