Dado um número não negativo n
, classifique os dígitos n
pela primeira ocorrência em pi .
A entrada pode ser obtida via argumento da função cli ou STDIN e como uma string, char [] ou inteiro. Você pode enviar via valor de retorno, status de saída ou STDOUT.
Respostas:
Pitão,
86 bytesExperimente aqui.
-1 graças a Leaky Nun : A entrada fornecerá o
0
que for necessário.Trivial -1 graças a Jakube : Backtick não é necessário (ah, como eu perdi isso, COMO?!?).
fonte
0
do final. Se a entrada tiver um0
, o0
seria fornecido pela entrada; se a entrada não tiver um0
, não importará.ox+.n0
Python 3 ,
4039 bytes1 byte graças a Jonathan Allan.
Experimente online!
fonte
3
, pois find retornará-1
quando um item não for encontrado.05AB1E ,
1097 bytesEconomizou 1 byte graças a Leaky Nun, observando que não é necessário filtrar duplicatas.
Economizou 2 bytes graças a Adnan .
Experimente online!
Explicação
fonte
13žsRvy†J
para 9 bytesžq
vez de13žs
?Gelatina , 10 bytes
Experimente online!
Recebe a entrada como uma sequência de dígitos.
-3 bytes graças a @ETHproductions
Explicação
fonte
3145926870
pode ser representado como uma seqüência de caracteres de base 250 de 4 dígitos (o que significa que ocupa 6 bytes em vez de 10), mas não tenho certeza de como compactá-lo dessa forma.“ṀSṪw’
vai te dar3145926870
.Japonês ,
109 bytes8 bytes de código, +1 para o
-P
sinalizador.Experimente online! Recebe a entrada como uma sequência.
Explicação
fonte
JavaScript (ES6), 54 bytes
Usa cadeias de caracteres para E / S.
fonte
Geléia ,
87 bytes-1 byte graças a Dennis (use qualquer um existente
0
na entrada, inteligente.)Experimente online!
Quão?
fonte
3820009
(sqrt de14592468760081
) ainda há3
dígitos na base250
.Ṿ
da sua explicação está fora de lugar.CJam ,
1512108 bytesExperimente online!
-3: use uma cadeia de caracteres baseada na
P
variável pi em vez de em um literal.-2: Decidi que não preciso unificar, pois encontrar um índice leva a primeira ocorrência de qualquer maneira. -2: Obrigado a jimmy23013 por uma abordagem interessante usando o x mod 65536.
Explicação:
fonte
ci
até convertesse novamente em número inteiro.PHP, 71 bytes
A solução regex é mais curta
ou
Versões Online
PHP, 78 bytes
PHP, 112 bytes
Versão Online
fonte
C,
10397 bytesExperimente online
fonte
char
nochar*p
echar*t
Ruby, 50 bytes
fonte
MATL , 14 bytes
Experimente online!
Explicação com um exemplo
O símbolo
;
é usado como separador de linhas em matrizes. Assim,[1 2 3]
é um vetor de linha,[1; 2; 3]
é um vetor de coluna e[1 2; 3 4]
é uma matriz quadrada. Este último também pode ser representado, para maior clareza, comoConsidere a entrada
2325
como um exemplo.fonte
C (gcc) , 78 bytes
Experimente online!
fonte
C # interativo,
3736 bytesNa verdade, você deve executar isso no C # interativo para obter resultados adequados, mas acho que foi isso que você quis dizer com status de saída . A variável i é realmente a variável de entrada (pode ser, por exemplo, uma string), então é basicamente o parâmetro method.
Eu acho que o código em si é bastante direto.
fonte
3
?i
estar em algum lugar para que possa ser tomado como entrada. Além disso, se você estiver dizendo C #, precisará incluirusing System.Linq;
na contagem de bytes. No entanto, se for interativo, você deve especificar o idioma como C # interativo e não apenas C #.05AB1E ,
56 bytes (não competitivo)Tinha que perceber que
0
não está presente no comprimento padrão pi constante.Experimente online!
fonte
Σ
é mais recente que o desafio.PHP,
6665 bytesGuardou 1 byte graças a Titus.
fonte
Java 7, 110 bytes
Explicação:
Código do teste:
Experimente aqui.
Resultado:
fonte
Clojure, 38 bytes
Entrada em string, retorna uma sequência de caracteres.
zipmap
cria um objeto "dicionário", que também pode ser usado em um contexto de função.Se os dígitos de entrada foram garantidos como únicos, você poderia simplesmente fazer
#(filter(set %)"3145926870")
.fonte
PHP,
6968Ainda derrotado por preg_filter, mas eu pensei que era bastante agradável. Talvez alguém possa jogar fora alguns bytes.
fonte
$c!=$d?:print$d
como alternativa para$c==$d&&print$d
eu só vejo no momento_3145926870
em vez de "3145926870", economize 1 bytefor(;(~$d=$argn[$j++])?:~$c=_3145926870[++$i+$j=0];$c!=$d?:print$d);
também é uma alternativa funcionalPerl 6 , 34 bytes
Tente
fonte
k, 19 bytes
Explicação:
fonte