Vamos definir uma sequência de raízes quadradas inteiras. Primeiro, a (1) = 1. Então, a (n) é o menor número inteiro positivo nunca visto antes ,
sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1)))))
é um número inteiro. Alguns exemplos:
a (2) é 3 porque é o menor número inteiro que sqrt(a(2) + sqrt(a(1))) = sqrt(a(2) + 1)
é inteiro e 3 não ocorreu na sequência antes.
a (3) é 2 porque é o menor número inteiro que sqrt(a(3) + sqrt(a(2) + sqrt(a(1)))) = sqrt(a(3) + 2)
é inteiro e 2 não ocorreu na sequência antes.
a (4) é 7 porque sqrt(a(4) + 2)
é inteiro. Não poderíamos ter um (4) = 2 porque 2 já ocorreu em nossa sequência.
Escreva um programa ou função que, dado um parâmetro n, retorne uma sequência de números a (1) a a (n).
A sequência inicia 1,3,2,7,6,13,5, ....
Fonte desta seqüência é a partir desta pergunta Math.SE .
Uma plotagem dos primeiros 1000 elementos na sequência:
Respostas:
Python 2 , 80 bytes
Experimente online!
fonte
Haskell ,
10387 bytesHorrivelmente ineficiente, mas não depende da aritmética de ponto flutuante. Aqui
a(x) = sqrt(f(x)+a(x-1))
está uma sequência auxiliar, que simplifica o cálculo.Experimente online!
fonte
Python 2 , 87 bytes
Experimente online!
-3 graças ao Sr. Xcoder .
-5 graças a ovs .
fonte
while n in s or(t+n)**.5%1>0
->while(n in s)+(t+n)**.5%1
MATL ,
3027 bytesExperimente online! Ou veja uma exibição gráfica (demora um pouco; o tempo limite para entradas excede aproximadamente
60
).Explicação
fonte
Mathematica, 104 bytes
Experimente online!
A sequência das raízes quadradas também é muito interessante ...
e gera um padrão semelhante
Também aqui estão as diferenças da sequência principal
fonte
Python 2 ,
1171151121029987 bytesExperimente online!
Usou a
t=(t+x)**.5
lógica da resposta de Erikfonte
JavaScript (ES7),
89827776 bytesDemo
Mostrar snippet de código
Formatado e comentado
fonte
R ,
13810599 bytesExperimente online!
-33 bytes usando o
sqrt()%%1
truque inteligente de Tfeld no loop while-6 bytes usando T em vez de F
resposta original, 138 bytes:
Experimente online!
fonte
Casca , 21 bytes
Experimente online!
Quão?
fonte