Use uma tabela de pesquisa codificada em números de ponto flutuante
Uma dica um pouco avançada:
Pequenas tabelas de pesquisa são úteis para o código de golfe: muitas vezes precisamos de uma função que mapeie, por exemplo, 0 a 1, 1 a 2, 2 a 1 e tudo mais a 0. No entanto, as matrizes TI-BASIC não são adequadas para esse propósito: por um lado, eles são baseados em um e, por outro, um valor não pode ser extraído até que a matriz seja armazenada Ansou uma variável de lista.
Na minha resposta aqui , armazeno uma pequena tabela de pesquisa em uma constante mágica na base 11. Simplesmente liste os valores que você deseja usar,
{0,-1,5,-1,-1,2,9,-1,8,6}
converter para um formulário útil
{1,0,6,0,0,3,10,0,9,7}
escreva na sua base desejada (base 11)
.106003A097
e converter para a base 10
-1+int(11fPart(11^Ans.0954191904
A abordagem de matriz mais curta tem 8 bytes a mais!
{1,0,6,0,0,3,10,0,9,7}-1:Ans(X+1
O TI-BASIC armazena apenas flutuadores com 14 dígitos decimais, para que você possa armazenar até 44 bits, mas apenas 14 dígitos decimais.
Essa técnica geralmente pode ser aprimorada ainda mais usando a pesquisa de força bruta para encontrar uma constante mágica em vez da codificação base-N. Ainda estou no processo de jogar a resposta acima, mas o jogador de TI TI-BASIC Weregoose usou esse método para gerar as diferenças entre os números de coprime com 30 (ou seja, uma lista repetida 6, 4, 2, 4, 2, 4, 6, 2) no wiki / fórum TI-BASIC Desenvolvedor com este trecho:
2+2iPart(3fPart(576e^(fPart(I/8
A constante mágica 576 foi encontrada usando o Mathematica, mas se você não possui uma cópia, use um script no seu idioma favorito.