Définissons une séquence de racines carrées entières. D'abord, a (1) = 1. Ensuite, a (n) est le plus petit entier positif jamais vu auparavant de telle sorte que
sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1)))))
est un entier. Quelques exemples:
a (2) est 3 car c'est le plus petit entier tel que sqrt(a(2) + sqrt(a(1))) = sqrt(a(2) + 1)
entier, et 3 ne s'est pas produit dans la séquence précédente.
a (3) est 2 car c'est le plus petit entier tel que sqrt(a(3) + sqrt(a(2) + sqrt(a(1)))) = sqrt(a(3) + 2)
entier, et 2 ne s'est pas produit dans la séquence précédente.
a (4) vaut 7 car sqrt(a(4) + 2)
est entier. Nous ne pouvions pas avoir un (4) = 2 car 2 se sont déjà produits dans notre séquence.
Écrivez un programme ou une fonction qui, en fonction d'un paramètre n, renvoie une séquence de nombres a (1) à a (n).
La séquence commence 1,3,2,7,6,13,5, ....
Source de cette séquence est de cette question Math.SE .
Un tracé des 1000 premiers éléments de la séquence: