Desafio
Para um determinado intervalo inteiro positivo, encontre o primeiro e o último número primo inteiramente composto por dígitos do número primo, incluindo excepcionalmente 0 (para os dígitos , um intervalo de 0-2 deve gerar 2-2). O intervalo é inclusivo. Se nenhum número for encontrado, a saída esperada será 0. Se houver apenas um número, a saída esperada será esse número duas vezes.
Exemplos
- Para o intervalo de 1 a 100, o primeiro número primo é 2 e o último é 73 (7 e 3 são números primos).
- Para o intervalo de 70 a 80, o primeiro número primo é 73 e o último também é 73 (como existe apenas um número correto no intervalo fornecido, retornamos duas vezes).
- Para o intervalo de 190 a 200, não há resposta correta, então você retorna 0.
- Para o intervalo de 2000 a 2100, o primeiro número primo é 2003 e o último é 2053 (omitimos o dígito 0, mas todos os outros dígitos são primos)
Isso é código-golfe , então o código mais curto em bytes vence!
Todas as brechas padrão se aplicam.
Entrada
- Você é livre para aceitar dois números inteiros como entrada, no entanto, pode ver o ajuste, a pilha, os argumentos da função, o argumento CLI, stdin.
- Você deve receber apenas dois números inteiros.
Resultado
- Você deve retornar o resultado (uma tupla, uma matriz, retorno múltiplo se o seu idioma suportar), deixá-lo na pilha ou imprimi-lo (nesse caso, eles devem estar separados de alguma forma).
- A ordem das saídas é irrelevante.
- Você tem permissão para colchetes à esquerda / à direita e novas linhas.
- Você deve retornar dois números, se houver uma resposta, mesmo que sejam os mesmos.
- Você deve retornar 0 se não houver resposta.
0
vez de[0]
?Respostas:
Python 2 , 123 bytes
Experimente online!
fonte
Perl 6,
105949086 bytesfonte
JavaScript (ES6), 83 bytes
Assume o intervalo [ab] na sintaxe de curry
(a)(b)
. Retorna uma matriz de 2 elementos ou 0 .Casos de teste
Mostrar snippet de código
fonte
Mathematica, 91 bytes
Experimente online!
fonte
Gelatina , 14 bytes
Experimente online!
Como funciona
Se tomar todo o intervalo seria permitido (embora eu ache que não deveria ser), então 12 bytes:
Experimente online!
fonte
For a given positive integers range
. Eu vou pedir para esclarecer #0
é a exceção do desafio, porque deve ser tratada como um dígito principal por algum motivo). Enfim,Braquilog , 16 bytes
Experimente online!
O "retorno 0 completamente não sensorial" se não houver primo "nos faz perder 3 bytes (
|∧0
) sem motivo (retornariafalse.
se não os adicionássemos)Explicação
fonte
[2000, 2100]
Pitão , 24 bytes
Usar minha abordagem inicial acaba sendo mais curto.
Experimente aqui!
(Eu estava apenas atualizando para 23, mas Steven me venceu )
Experimente aqui!
Nativamente,
hM_BK
pode ser substituído por,hKeK
.25 bytes
Experimente aqui!
26 bytes
Experimente aqui!
Experimente aqui!
Como eles trabalham
fonte
Mathematica 85 Bytes
Eu sei que já existe uma resposta semelhante, mas a abordagem aqui é bem diferente.
Essa resposta de 83 caracteres será colada e executada no Mathematica. O site do TIO não sabe como interpretar ∞.
fonte
Gelatina , 14 bytes
Experimente online!
Agradecemos a Erik, o Outgolfer, pela ajuda na correção de um bug. Obrigado ao Sr. Xcoder pelo
.ị
truque.fonte
ṙ-ḣ2
trabalho paraḢ,Ṫ
corrigi-lo (pode ter que modificar um pouco mais)?.ị
pode funcionar bem (tipo de roubada de Mr. Xcoder)Ruby , 87 bytes
Experimente online!
fonte
CJam , 36 bytes
Experimente online!
fonte
Perl 6 ,
68 66 65 6158 bytesTente
Tente
Tente
Tente
Tente
Expandido:
fonte
Perl 5 , 79 + 2 (
-ap
) = 81 bytesExperimente online!
fonte
Java 8,
165164 bytesExplicação:
Experimente aqui.
fonte
Limpo ,
142131125 bytesUngolfed:
Experimente online!
fonte
Pitão,
282523 bytesSuíte de teste. Retorna [2003,2053] para o último caso de teste, já que 2053 é primo.
fonte
[0, 0]
vez de0