Escreva um programa que utilize uma entrada (que pode ou não ser primo) e lista o primo imediato a seguir e precedendo.
Exemplo de entrada:
1259
Exemplo de saída:
1249 1277
O programa mais curto vence. É necessário executar dentro de 10 segundos em um PC de mesa moderno. As entradas serão limitadas a 10.000 no máximo.
n
de primalidade criandon
caracteres de seqüência de caracteres longos e testando isso em uma regex absolutamente horrível?Respostas:
Perl 5.10 (perl-E), 65 caracteres
Metade do crédito (pelo menos) deve ir para @J B.
fonte
qr
-4, por não precisar dos delimitadores posteriormente).qr
. LMGTFY: 81 caracteres$m=$n=<>;$p='^1$|(^11+)\1+$';0while(1x--$m)=~$p;0while(1x++$n)=~$p;print"$m $n$/"
perl -E'$m=<>;for(-1,1){$n=$m;0while(1x($n+=$_))=~q<^1$|(^11+)\1+$>;say$n}'
Mathematica , 19
fonte
Mathematica: 28 caracteres
Uso
fonte
Python - 93
Com base na resposta de fR0DDY . Basicamente, mesclei as linhas 4 e 5 e reduzi a linha 2 usando um método diferente.
fonte
Python
116111109 Personagensfonte
f=lambda n:not(all(pow(b,n-1,n)<2for b in(3,5,7,13)))
n=input()-1
em=n+2
, salva 3 caracteres ... eu acho.not(all(...))
porany(...)
invertendo os booleans108
.J, 22 caracteres
fonte
Haskell: 99
Exemplo
fonte
Python, 116
139caracteres (o recuo duplo é tab-char)Usa boa peneira antiga de Eratóstenes
Edita e (graças a TON @JPvdMerwe). Deve funcionar com números primos agora.
Original
fonte
a=range(9999)
- las pora=range(n)
. Também na linha 2 você não precisa passara
para o lambda, basta usá-lo. Isso deve raspar muito.Scala 119:
ungolfed:
21,2s para executar todas as 9998 ints de 3 a 10.000
fonte
Gelatina , 5 bytes (não concorrente?)
Experimente online!
fonte
Swift
190187185110Swift é muito ruim no código-golfe, mas tentei assim mesmo: D
Está ficando cada vez mais curto ... (Obrigado ao HermanLauenstein por remover 75 bytes)
fonte
var a=Int(readLine()!)!;for b in[-1,1]{var n=a,c=0;while c<1{n+=b;c=1;for i in 2..<n{if n%i<1{c=0}}};print(n)}
(eu não testei ainda corretamente)Python (123)
NOTA: O
Primes
módulo foi escrito por mim, mas existia antes desta pergunta ser feita. NÃO foi escrito para isso. No entanto, isso foi considerado injusto, então aqui está a versão atualizada.Python (215)
fonte
123
Primes
; contra o espírito do código de golfe.Stax , 7 bytes
Execute e depure
Equivalente ASCII:
Built-ins.
fonte
JavaScript (Node.js) , 79 bytes
Experimente online!
fonte
C (gcc) , 98 bytes
Experimente online!
Versão completa do programa, C (gcc) , 116 bytes
Experimente online!
Ambas as versões assumem que nunca testamos 1 quanto à primalidade, o que só acontece se a entrada for 2 ou inferior; nesse caso, a saída seria indefinida de qualquer maneira.
fonte