Considere uma sequência de números naturais para a qual N aparece como uma substring em N ^ 2. A018834
Saída do n
th th elemento desta sequência.
Regras
O programa recebe apenas n
como entrada e gera apenas um número -N
.
A sequência pode ser indexada em 0 ou 1.
Sequence: 1 5 6 10 25 50 60 76 100 250 376 500 600 625 760 ...
Squares: 1 25 36 100 625 2500 3600 5776 10000 62500 141376 250000 360000 390625 577600 ...
Isso é código-golfe, então o código mais curto vence.
Respostas:
05AB1E , 6 bytes
Indexado 1
Experimente online!
Explicação
fonte
µ
comando é apenas ... eu gostaria de ter isso.Nth
número que atende a uma condição específica.å
produz true, então temos a correnteN
no topo da pilha (contador e incremento de incrementoN
), mas se não continuarmos (incrementoN
). Talvez use algo diferente de "N
", pois esse é o resultado final no corpo da pergunta: pPerl 6 ,
3331 bytes-2 bytes graças a nwellnhof
Experimente online!
Explicação:
fonte
JavaScript (ES6), 43 bytes
Experimente online!
Versão não recursiva, 47 bytes
Experimente online!
fonte
n=23
apenas?MathGolf , 8 bytes (funciona para qualquer entrada na teoria, mas apenas
n<10
na prática)Experimente online!
Alternativa (trabalha
n<49
na prática e na teoria)A única diferença é que, em vez de criar uma lista com
10^(input)
valores, eu crio uma lista com10^6
itens. Isso demora um pouco para ser executado, para que você possa trocar o primeiro byte por qualquer outro literal de 1 byte para testá-lo.Explicação
A razão pela qual essa solução não lida com entradas grandes é que notei que a sequência cresce menos que exponencialmente, mas mais que qualquer polinômio. É por isso que usei o
10**n
operador (eu queria usar,2**n
mas falhou na entrada 1). Isso significa que eu crio uma matriz extremamente grande, mesmo para pequenas entradas, apenas para filtrar a grande maioria dela e depois pegar um dos primeiros elementos. É extremamente inútil, mas não consegui encontrar outra maneira de fazer isso sem aumentar a contagem de bytes.fonte
Lisp comum, 95 bytes
Experimente online!
fonte
Limpo , 83 bytes
Experimente online!
fonte
Gelatina , 6 bytes
1 indexado.
Experimente online!
Quão?
Localiza o primeiro
n
da sequência como uma lista e depois produz a caudaN
,.Se
0
fosse considerado um número Natural, poderíamos usar o programa completo indexado em 1ẇ²$#Ṫ
para 5.fonte
Japonês,
1211 bytesTente
Tente
fonte
Ruby , 45 bytes
Experimente online!
fonte
Java 8,
666563 bytes-1 byte graças a @Shaggy .
-2 bytes graças a @Arnauld .
1 indexado.
Experimente online.
Explicação:
fonte
Clojure , 81 bytes
Experimente online!(Infelizmente, o TIO parece não suportar a biblioteca de cordas padrão do Clojure)
Se o Clojure tivesse uma sintaxe de importação mais curta ou um
includes?
método na biblioteca principal, isso poderia ser realmente um pouco competitivo.clojure.string/includes?
sozinho é mais do que algumas respostas aqui:Como o link do TIO está quebrado, aqui está um teste. O número à esquerda é o índice (
n
) e o resultado (N
) está à direita:Isso deve ser capaz de suportar qualquer valor de
n
; desde que você esteja disposto a aguardar o término (encontrar os 50º a 100º números inteiros na sequência levou 15 minutos). O Clojure suporta aritmética inteira arbitrariamente grande; portanto, quando os números começam a ficar grandes, ele começa a usarBigInt
s.fonte
Carvão , 25 bytes
Experimente online!Link é a versão detalhada do código. Indexado a 0. Explicação:
Entrada
n
.Comece
N
em 1. (Ou, isso pode começar a contar em0
que tornaria a entrada indexada em 1).Repita até encontrarmos
n
números na sequência.Incremento
N
.Se
N*N
contémN
, então ...... decrementar
n
.Imprimir
N
.Minhas tentativas de jogar golfe foram frustradas por Charcoal a) não ter uma
if..then
exceção no final de um bloco (que custa 2 bytes) b) não ter umContains
operador (convertendo a saída deFind
ouCount
em um booleano que eu poderia subtrair dosn
custos novamente) 2 bytes).fonte
Editar (resposta aos comentários): Python 2, 76 bytes
Queria tentar um método não recursivo. (Novo no golfe, todas as dicas seriam ótimas!)
Obrigado BMO e Vedant Kandoi!
fonte
print(f(13))
no código. Além dissowhile 1:
,if c==1:return n
,c==1 can be c<2
`
são redundantes e o outro depoisc<2:
também; em seguida, você pode misturar guias e espaços para indentação (como mostrado aqui ): 69 bytes Btw. não há necessidade de manter sua versão antiga (está no histórico de edições para quem está interessado) e por que não vincular ao TIO (ou similar) / usar o modelo a partir daí?Haskell, 60 bytes
Experimente online!
fonte
Python 2 ,
4743 bytes-4 bytes graças a Dennis (adicionando 1 à chamada recursiva em vez de retornar
n-1
)Experimente online!
Explantion / Ungolfed
Função recursiva usando dois argumentosc , n ; n é contado 1 , 2 , 3 ... e sempre n dentro n2 diminui c . A recursão termina assim quec = 0 :
fonte
APL (Dyalog Extended) ,
3130 bytesExperimente online!
Indexado a 0.
fonte
(⍕⍺)⍷⍕
→⍺⍷⍥⍕
Perl 5
-p
, 33 bytesExperimente online!
fonte
Lua ,
13712379 bytes-obrigado @Jo King por 44 bytes
Experimente online!
fonte
false/true
pode ser0>1
/0<1
, colchetes não são necessários paraif
s ewhile
s, você pode remover a maioria dos espaços em branco após os números (até as novas linhas).Tcl , 82 bytes
Experimente online!
fonte
proc S n {while {[incr j [regexp [incr i] [expr $i**2]]]-$n} {};return $i}
Arrumado , 24 bytes
Experimente online!
Retorna uma lista lenta que, quando chamada como uma função, retorna o
n
elemento th da série.Explicação
fonte