Dado un número no negativo n
, clasifique los dígitos n
por su primera aparición en pi .
La entrada puede tomarse a través de la función argumento de cli, o STDIN y como una cadena, char [] o entero. Puede enviar a través del valor de retorno, el estado de salida o STDOUT.
Respuestas:
Pyth,
86 bytesPruébalo aquí
-1 gracias a Leaky Nun : la entrada proporcionará
0
si alguna vez se necesita.Trivial -1 gracias a Jakube : Backtick no es necesario (ah, ¿cómo me perdí eso, ¿CÓMO?!?).
fuente
0
al final. Si la entrada tiene a0
,0
la entrada la proporcionaría; Si la entrada no tiene un0
, no importará.ox+.n0
Python 3 ,
4039 bytes1 byte gracias a Jonathan Allan.
Pruébalo en línea!
fuente
3
, ya que find regresará-1
cuando no se encuentre un artículo.05AB1E ,
1097 bytesSe guardó 1 byte gracias a Leaky Nun y señaló que no es necesario filtrar los duplicados.
Guardado 2 bytes gracias a Adnan .
Pruébalo en línea!
Explicación
fuente
13žsRvy†J
para 9 bytesžq
lugar de13žs
?Jalea , 10 bytes
Pruébalo en línea!
Toma la entrada como una cadena de dígitos.
-3 bytes gracias a @ETHproductions
Explicación
fuente
3145926870
se puede representar como una cadena base-250 de 4 dígitos (lo que significa que ocupa 6 bytes en lugar de 10), pero no estoy seguro de cómo comprimirlo como tal.“ṀSṪw’
le dará3145926870
.Japt ,
109 bytes8 bytes de código, +1 para la
-P
bandera.Pruébalo en línea! Toma la entrada como una cadena.
Explicación
fuente
JavaScript (ES6), 54 bytes
Utiliza cadenas para E / S.
fuente
Jalea ,
87 bytes-1 byte gracias a Dennis (use cualquiera existente
0
en la entrada, inteligente).Pruébalo en línea!
¿Cómo?
fuente
3820009
(sqrt of14592468760081
) todavía tiene3
dígitos en la base250
.Ṿ
en su explicación está fuera de lugar.CJam ,
1512108 bytesPruébalo en línea!
-3: Use una cadena basada en la
P
variable pi en lugar de un literal.-2: Decidí que no necesito uniquificar en absoluto, ya que encontrar un índice toma la primera aparición de todos modos. -2: Gracias a jimmy23013 por un enfoque interesante usando x mod 65536.
Explicación:
fuente
ci
incluso se convertiría de nuevo a entero.PHP, 71 bytes
La solución regex es más corta
o
Versiones en linea
PHP, 78 bytes
PHP, 112 bytes
Versión en línea
fuente
C,
10397 bytesPruébalo en línea
fuente
char
enchar*p
echar*t
Ruby, 50 bytes.
fuente
MATL , 14 bytes
Pruébalo en línea!
Explicación con un ejemplo
El símbolo
;
se utiliza como separador de filas en matrices. Entonces,[1 2 3]
es un vector de fila,[1; 2; 3]
es un vector de columna y[1 2; 3 4]
es una matriz cuadrada. Este último también se puede representar, para mayor claridad, comoConsidere la entrada
2325
como un ejemplo.fuente
C (gcc) , 78 bytes
Pruébalo en línea!
fuente
C # interactivo,
3736 bytesEn realidad, debe ejecutar esto en C # interactivo para obtener resultados adecuados, pero supongo que esto es lo que quiso decir con el estado de salida . La variable i realidad es la variable de entrada (puede ser, por ejemplo, una cadena), por lo que es básicamente el parámetro del método.
Creo que el código en sí es bastante sencillo.
fuente
3
?i
está en algún lugar para que pueda tomarse como entrada. Además, si está diciendo C #, debe incluirusing System.Linq;
en el recuento de bytes. Sin embargo, si esto es interactivo, debe especificar el idioma como C # interactivo, no solo C #.05AB1E ,
56 bytes (sin competencia)Tenía que darse cuenta de que
0
no está presente en la constante de longitud estándar pi.Pruébalo en línea!
fuente
Σ
es más nuevo que el desafío.PHP,
6665 bytesGuardado 1 byte gracias a Titus.
fuente
Java 7, 110 bytes
Explicación:
Código de prueba:
Pruébalo aquí
Salida:
fuente
Clojure, 38 bytes
Entrada en cadena, devuelve una secuencia de caracteres.
zipmap
crea un objeto "diccionario", que también se puede utilizar en un contexto de función.Si se garantiza que los dígitos de entrada sean únicos, entonces simplemente podría hacerlo
#(filter(set %)"3145926870")
.fuente
PHP,
6968Todavía golpeado por preg_filter pero pensé que era bastante bueno en sí mismo. Quizás alguien pueda jugar algunos bytes.
fuente
$c!=$d?:print$d
como alternativa porque$c==$d&&print$d
solo veo en el momento_3145926870
en lugar de "" 3145926870 "guardar 1 Bytefor(;(~$d=$argn[$j++])?:~$c=_3145926870[++$i+$j=0];$c!=$d?:print$d);
también es una alternativa de trabajoPerl 6 , 34 bytes
Intentalo
fuente
k, 19 bytes
Explicación:
fuente