Użyj tabeli odnośników zakodowanej w liczbach zmiennoprzecinkowych
Nieco zaawansowana wskazówka:
Małe tabele odnośników są przydatne do gry w golfa: bardzo często potrzebujemy funkcji, która mapuje na przykład 0 do 1, 1 do 2, 2 do 1 i wszystko inne na 0. Jednak tablice TI-BASIC nie są odpowiednie w tym celu: z jednej strony są one oparte na jednej, a dla drugiej wartości nie można wyodrębnić, dopóki tablica nie zostanie zapisana Ans
lub zmienna listy.
W mojej odpowiedzi tutaj przechowuję małą tabelę odnośników w magicznej stałej w bazie 11. Po prostu wypisz wartości, których chcesz użyć,
{0,-1,5,-1,-1,2,9,-1,8,6}
przekonwertować na przydatną formę
{1,0,6,0,0,3,10,0,9,7}
napisz w wybranej bazie (baza 11)
.106003A097
i przekonwertować na bazę 10
-1+int(11fPart(11^Ans.0954191904
Najkrótsza metoda tablicowa ma 8 bajtów dłużej!
{1,0,6,0,0,3,10,0,9,7}-1:Ans(X+1
TI-BASIC przechowuje tylko liczby zmiennoprzecinkowe do 14 cyfr dziesiętnych, więc możesz przechowywać do 44 bitów, ale tylko 14 cyfr dziesiętnych.
Technikę tę można często ulepszyć jeszcze bardziej, stosując wyszukiwanie z użyciem siły brutalnej w celu znalezienia stałej magicznej zamiast kodowania podstawowego N. Nadal jestem w trakcie gry w golfa na powyższą odpowiedź, ale golfista TI-BASIC Weregoose użył tej metody do wygenerowania różnic między liczbami coprime z 30 (to jest powtarzającą się listą 6, 4, 2, 4, 2, 4, 6, 2
) na wiki / forum TI-BASIC Deweloper z tym fragmentem:
2+2iPart(3fPart(576e^(fPart(I/8
Stała magiczna 576 została znaleziona przy użyciu Mathematica, ale jeśli nie masz kopii, użyj skryptu w swoim ulubionym języku.