Desafío
Para un rango entero positivo dado, encuentre el primer y último número primo completamente compuesto por dígitos de números primos, incluyendo excepcionalmente 0 (para los dígitos , un rango de 0-2 debería generar 2-2). El rango es inclusivo. Si no se encuentra ningún número, la salida esperada es 0. Si solo hay uno de esos números, la salida esperada es ese número dos veces.
Ejemplos
- Para el rango 1–100, el primer número primo es 2 y el último es 73 (7 y 3 son números primos).
- Para el rango 70–80, el primer número primo es 73 y el último también es 73 (dado que solo hay un número correcto en el rango dado, lo devolvemos dos veces).
- Para el rango 190–200, no hay una respuesta correcta, por lo que devuelve 0.
- Para el rango 2000-2100, el primer número primo es 2003 y el último es 2053 (omitimos el dígito 0, pero todos los demás dígitos son primos)
Este es el código de golf , por lo que gana el código más corto en bytes.
Se aplican todas las lagunas estándar.
Entrada
- Usted es libre de aceptar dos enteros como entrada, sin embargo, puede ver fit, stack, argumento (s) de función, argumento CLI, stdin.
- Solo debes recibir dos enteros.
Salida
- Usted debe o bien devolver el resultado (una tupla, una matriz, múltiples regreso si sus soportes Idioma), lo dejan en la pila, o imprimirlo (en este caso, deben ser separados de alguna manera).
- El orden de las salidas es irrelevante.
- Se le permiten paréntesis iniciales / finales y líneas nuevas.
- Debe devolver dos números, si hay una respuesta, incluso si son iguales.
- Debe devolver 0 si no hay respuesta.
0
lugar de[0]
?Respuestas:
Python 2 , 123 bytes
Pruébalo en línea!
fuente
Perl 6,
105949086 bytesfuente
JavaScript (ES6), 83 bytes
Toma el rango [ab] en la sintaxis de curry
(a)(b)
. Devuelve una matriz de 2 elementos o 0 .Casos de prueba
Mostrar fragmento de código
fuente
Mathematica, 91 bytes
Pruébalo en línea!
fuente
Jalea , 14 bytes
Pruébalo en línea!
Cómo funciona
Si se permitiera tomar todo el rango (aunque creo que no debería serlo), entonces 12 bytes:
Pruébalo en línea!
fuente
For a given positive integers range
. Voy a pedir aclaraciones0
es la excepción del desafío, porque por algún motivo debe tratarse como un dígito principal). De todos modos,Brachylog , 16 bytes
Pruébalo en línea!
El "retorno 0 si no hay primo" completamente no sensorial nos hace perder 3 bytes (
|∧0
) sin ningún motivo (volveríafalse.
si no los agregamos)Explicación
fuente
[2000, 2100]
Pyth , 24 bytes
Usar mi enfoque inicial resulta ser más corto.
Pruébalo aquí!
(Estaba actualizando a 23 pero Steven me ganó )
Pruébalo aquí!
Nativamente,
hM_BK
puede ser reemplazado por,hKeK
.25 bytes
Pruébalo aquí!
26 bytes
Pruébalo aquí!
Pruébalo aquí!
Cómo trabajan ellos
fuente
Mathematica 85 Bytes
Sé que ya hay una respuesta similar, pero el enfoque aquí es bastante diferente.
Esta respuesta de 83 caracteres se pegará y se ejecutará en Mathematica. El sitio TIO no sabe cómo interpretar ∞.
fuente
Jalea , 14 bytes
Pruébalo en línea!
Gracias a Erik the Outgolfer por la ayuda que corrige un error. Gracias al Sr. Xcoder por el
.ị
truco.fuente
ṙ-ḣ2
Funcionaría paraḢ,Ṫ
solucionarlo (podría tener que modificar un poco más)?.ị
podría funcionar también (algo robado del Sr. XCoder)Rubí , 87 bytes
Pruébalo en línea!
fuente
CJam , 36 bytes
Pruébalo en línea!
fuente
Perl 6 ,
68 66 65 6158 bytesIntentalo
Intentalo
Intentalo
Intentalo
Intentalo
Expandido:
fuente
Perl 5 , 79 + 2 (
-ap
) = 81 bytesPruébalo en línea!
fuente
Java 8,
165164 bytesExplicación:
Pruébalo aquí.
fuente
Limpias ,
142131125 bytesSin golf:
Pruébalo en línea!
fuente
Pyth,
282523 bytesBanco de pruebas. Devuelve [2003,2053] para el último caso de prueba, ya que 2053 es primo.
fuente
[0, 0]
lugar de0