Давайте определим последовательность целочисленных квадратных корней. Сначала a (1) = 1. Затем a (n) - наименьшее положительное целое число, не виденное ранее, такое, что
sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1)))))
является целым числом Несколько примеров:
a (2) равно 3, потому что это наименьшее целое число, такое sqrt(a(2) + sqrt(a(1))) = sqrt(a(2) + 1)
как целое число, а 3 ранее не встречалось в последовательности.
a (3) равно 2, потому что это наименьшее целое число, такое sqrt(a(3) + sqrt(a(2) + sqrt(a(1)))) = sqrt(a(3) + 2)
как целое число, а 2 ранее не встречалось в последовательности.
a (4) равно 7, потому что sqrt(a(4) + 2)
является целым числом. Мы не могли иметь (4) = 2, потому что 2 уже произошло в нашей последовательности.
Напишите программу или функцию, для которой задан параметр n, который возвращает последовательность чисел от a (1) до a (n).
Последовательность начинается с 1,3,2,7,6,13,5, ....
Источник этой последовательности от этого Math.SE вопроса .
Участок первых 1000 элементов в последовательности: