Wyzwanie
Liczba plastyczna jest liczbą związaną ze złotym współczynnikiem, o wielu interesujących właściwościach matematycznych. W związku z tym istnieje wiele metod obliczania liczby.
Aby precyzyjnie określić liczbę do celów tego wyzwania, użyjemy następującej definicji (chociaż istnieje wiele równoważnych definicji i możesz użyć dowolnej definicji, o ile dotyczy tej samej liczby):
Liczba plastyczna jest liczbą rzeczywistą ρ taką, że ρ ³ = ρ +1.
Wyzwanie polega na napisaniu programu lub funkcji, która przyjmuje na wejściu liczbę całkowitą x (przy x > 1) i daje przybliżenie do ρ jako wyjścia, tak że im większa jest wartość x , tym bardziej zbliża się do ρ ( z co najwyżej skończonymi wyjątkami; pozostawanie na tej samej wartości liczy się jako „bliżej” w tym celu), a dla dowolnej liczby dodatniej δ , twój program ma pewną wartość x , która daje wynik w granicach δ od ρ .
Wyjaśnienia
- Jeśli wyprowadzasz dane za pomocą metody, która z natury wysyła ciągi znaków (np. Standardowy strumień wyjściowy), możesz sformatować dane wyjściowe albo w systemie dziesiętnym (np.
1.3247179572
), Albo jako stosunek dwóch liczb całkowitych ze/
znakiem między nimi. - Jeśli wypisujesz jako wartość w swoim języku programowania (np. Wracasz z funkcji), musi ona być typu stałego, zmiennoprzecinkowego lub wymiernego. (W szczególności nie można używać typów danych, które przechowują liczby symbolicznie, chyba że są one używane tylko do zachowania stosunku dwóch liczb całkowitych. Więc jeśli używasz Mathematica lub podobnego języka, musisz dołączyć dodatkowe kod, który faktycznie generuje cyfry wyniku).
- Twoja odpowiedź musi działać w hipotetycznym wariancie języka, w którym liczby całkowite mogą być dowolnie duże, a pamięć (w tym stos) jest nieograniczona. Być może nie przyjąć, że zmiennoprzecinkową arytmetyczne w języku polskim jest arbitralnie dokładna, ale musi zamiast używać jej rzeczywistej dokładności (czyli wyprowadzanie liczbę zmiennoprzecinkową tylko będzie to możliwe w językach gdzie dokładność liczb zmiennoprzecinkowych może być kontrolowane w czasie wykonywania).
- x może mieć dowolne znaczenie (o ile jego zwiększenie daje bardziej dokładne wyniki). Wyobrażam sobie, że większość zgłoszeń sprawi, że będzie kontrolować liczbę cyfr danych wyjściowych do wyprodukowania lub liczbę iteracji algorytmu używanego przez twój program do zbieżności na plastikowej liczbie, ale inne znaczenia są dopuszczalne.
Testcase
Oto kilka pierwszych cyfr plastikowego numeru:
1.32471795724474602596090885
Więcej cyfr jest dostępnych w OEIS .
Warunek zwycięstwa
Jak zwykle dla golfa kodowanego , krótszy jest lepszy, mierzony w bajtach. Możesz jednak zamieszczać odpowiedzi, nawet jeśli nie wygrywają, o ile dodadzą coś (np. Inny język lub inny algorytm) do istniejących odpowiedzi.