Écrivez un code qui prend un seul entier non négatif n et génère la nième puissance de Phi (ϕ, le nombre d'or, environ 1,61803398874989) avec le même nombre de chiffres décimaux que le nième nombre de Fibonacci.
Votre code doit produire la séquence correcte de chiffres pour toutes les entrées jusqu'à au moins 10 (55 chiffres décimaux). La sortie doit être décimale lisible par l'homme. Vous pouvez choisir d'arrondir le dernier chiffre à la valeur la plus proche ou de tronquer la valeur. Veuillez spécifier celui que votre code utilise.
n et sortie, jusqu'à 10, en arrondissant:
0 1
1 1.6
2 2.6
3 4.23
4 6.854
5 11.09016
6 17.94427190
7 29.0344418537486
8 46.978713763747791812296
9 76.0131556174964248389559523684316960
10 122.9918693812442166512522758901100964746170048893169574174
n et sortie, jusqu'à 10, arrondi à la valeur la plus proche:
0 1
1 1.6
2 2.6
3 4.24
4 6.854
5 11.09017
6 17.94427191
7 29.0344418537486
8 46.978713763747791812296
9 76.0131556174964248389559523684316960
10 122.9918693812442166512522758901100964746170048893169574174
Le 7ème nombre de Fibonacci est 13, donc la sortie pour n = 7, ϕ 7 , a 13 décimales. Vous ne devez pas tronquer les zéros de fin qui afficheraient trop peu de chiffres; voir la sortie pour 6 dans le premier tableau, qui se termine par un seul zéro pour maintenir la précision décimale à 8 chiffres.
Peut-être en bonus, dites quel est le nombre le plus élevé que votre programme peut produire correctement.
Réponses:
dc, 26 octets
En raison de la précision initiale de 99 chiffres après la virgule, cela fonctionnera jusqu'à l'entrée 11 . Une précision dynamique (ou statique plus élevée) est possible, mais augmenterait le nombre d'octets.
Cas de test
Comment ça fonctionne
Puisque la sortie souhaitée est φ n , nous pouvons calculer le nombre de Fibonacci F (n) comme as n ÷ √5 + 0,5⌋ avec peu d'effort supplémentaire.
la source
Mathematica, 50 octets
Solution basique. Arrondit à la valeur la plus proche.
Toujours en vérifiant la valeur la plus élevée qui ne fera pas manquer de mémoire à mon ordinateur.L'entrée32
fonctionne, mais elle prend 45 minutes et utilise 16 Go de RAM. Cependant, étant donné le temps et la mémoire infinis, cela pourrait théoriquement fonctionner pour n'importe quelle valeur.la source