O desafio
O número do plástico é um número relacionado à proporção áurea, com muitas propriedades matemáticas interessantes. Como tal, existem muitas abordagens que podem ser usadas para calcular o número.
Para especificar com precisão o número para os objetivos deste desafio, usaremos a seguinte definição (embora existam muitas definições equivalentes e você possa usar qualquer definição que desejar, desde que chegue ao mesmo número):
O número do plástico é um número real ρ tal que ρ ³ = ρ +1.
Seu desafio é escrever um programa ou função que use um número inteiro x como entrada (com x > 1) e produza uma aproximação de ρ como saída, de modo que, quanto maior o valor de x , maior a proximidade de ρ ( com no máximo muitas exceções finitas; permanecer no mesmo valor conta como "mais próximo" para essa finalidade) e para qualquer número positivo δ , há alguma entrada x no seu programa que produz uma saída dentro de δ de ρ .
Esclarecimentos
- Se você estiver produzindo através de um método que gera inerentemente seqüências de caracteres (por exemplo, o fluxo de saída padrão), você pode formatar a saída em decimal (por exemplo
1.3247179572
) ou como uma proporção de dois números inteiros com um/
caractere entre eles. - Se você estiver produzindo como um valor na sua linguagem de programação (por exemplo, retornando de uma função), ela deve ser do tipo ponto fixo, ponto flutuante ou racional. (Em particular, você não pode usar tipos de dados que armazenam números simbolicamente, a menos que sejam usados apenas para manter a proporção de dois números inteiros. Portanto, se você estiver usando o Mathematica ou um idioma semelhante, precisará incluir o extra código para realmente gerar os dígitos da saída.)
- Sua resposta deve funcionar em uma variante hipotética do seu idioma, na qual os números inteiros podem ser arbitrariamente grandes e a memória (incluindo a pilha) é ilimitada. Você não pode presumir que a aritmética de ponto flutuante no seu idioma seja arbitrariamente precisa, mas deve usar sua precisão real (o que significa que a saída de um número de ponto flutuante só será possível em idiomas onde a precisão dos números de ponto flutuante pode ser controlado em tempo de execução).
- x pode ter o significado que você quiser (desde que aumentado, produza resultados mais precisos). Eu imagino que a maioria das submissões controlará o número de dígitos da saída a ser produzida ou o número de iterações do algoritmo usado pelo seu programa para convergir para o número plástico, mas outros significados são aceitáveis.
Caso de teste
Aqui estão os primeiros dígitos do número do plástico:
1.32471795724474602596090885
Mais dígitos estão disponíveis no OEIS .
Condição de vitória
Como de costume no código-golfe , quanto menor, melhor, medido em bytes. No entanto, sinta-se à vontade para postar respostas, mesmo que não ganhem, desde que adicionem algo (por exemplo, um idioma diferente ou um algoritmo diferente) às respostas existentes.