Le défi
Le nombre plastique est un nombre lié au nombre d'or, avec de nombreuses propriétés mathématiques intéressantes. En tant que tel, il existe de nombreuses approches qui peuvent être utilisées pour calculer le nombre.
Afin de spécifier précisément le nombre aux fins de ce défi, nous utiliserons la définition suivante (bien qu'il existe de nombreuses définitions équivalentes, et vous pouvez utiliser n'importe quelle définition de votre choix tant qu'il s'agit du même nombre):
Le nombre plastique est un nombre réel ρ tel que ρ ³ = ρ +1.
Votre défi consiste à écrire un programme ou une fonction qui prend un entier x en entrée (avec x > 1), et produit une approximation de ρ en sortie, de sorte que plus la valeur de x est grande, plus la sortie se rapproche de ρ ( avec au maximum un nombre infini d'exceptions; rester à la même valeur compte comme "plus proche" à cet effet), et pour tout nombre positif δ , il y a une entrée x dans votre programme qui produit une sortie qui est à moins de δ de ρ .
Clarifications
- Si vous effectuez une sortie via une méthode qui génère de manière inhérente des chaînes (par exemple le flux de sortie standard), vous pouvez formater la sortie soit en décimal (par exemple
1.3247179572
), soit comme un rapport de deux entiers avec un/
caractère entre eux. - Si vous générez une valeur dans votre langage de programmation (par exemple, en revenant d'une fonction), elle doit être de type à virgule fixe, à virgule flottante ou rationnelle. (En particulier, vous ne pouvez pas utiliser des types de données qui stockent des nombres symboliquement, à moins qu'ils ne soient utilisés que pour maintenir le rapport de deux entiers. Donc, si vous utilisez Mathematica ou un langage similaire, vous devrez inclure le supplément pour générer réellement les chiffres de la sortie.)
- Votre réponse doit fonctionner dans une variante hypothétique de votre langue dans laquelle les entiers peuvent être arbitrairement grands et la mémoire (y compris la pile) est illimitée. Vous ne pouvez pas supposer que l'arithmétique à virgule flottante dans votre langue est arbitrairement précise, mais devez plutôt utiliser sa précision réelle (ce qui signifie que la sortie d'un nombre à virgule flottante ne sera possible que dans les langues où la précision des nombres à virgule flottante peut être contrôlé à l'exécution).
- x peut avoir la signification que vous voulez (tant que l'augmentation donne des sorties plus précises). J'imagine que la plupart des soumissions le feront contrôler le nombre de chiffres de sortie à produire, ou le nombre d'itérations de l'algorithme utilisé par votre programme pour converger sur le nombre plastique, mais d'autres significations sont acceptables.
Cas de test
Voici les premiers chiffres du numéro en plastique:
1.32471795724474602596090885
Plus de chiffres sont disponibles sur OEIS .
Condition de victoire
Comme d'habitude pour le code-golf , plus court est meilleur, mesuré en octets. Cependant, n'hésitez pas à publier des réponses même si elles ne gagnent pas, tant qu'elles ajoutent quelque chose (par exemple une langue différente ou un algorithme différent) aux réponses existantes.