Escriba un programa que tome una entrada (que puede ser primo o no), y enumera el primo inmediato que lo sigue y lo precede.
Entrada de ejemplo:
1259
Salida de ejemplo:
1249 1277
El programa más corto gana. Debe ejecutarse en 10 segundos en una PC de escritorio moderna. Las entradas se limitarán a un máximo de 10,000.
n
para primalidad creando una cadena den
caracteres larga y probando eso contra una expresión regular absolutamente horrible?Respuestas:
Perl 5.10 (perl -E), 65 caracteres
La mitad del crédito (al menos) debe ir a @J B.
fuente
qr
, -4 por no necesitar los delimitadores más adelante).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
fuente
Mathematica: 28 caracteres
Uso
fuente
Python - 93
Basado en la respuesta de fR0DDY . Básicamente fusioné las líneas 4 y 5, y acorté la línea 2 usando un método diferente.
fuente
Python
116111109 Personajesfuente
f=lambda n:not(all(pow(b,n-1,n)<2for b in(3,5,7,13)))
n=input()-1
ym=n+2
guarda 3 caracteres ... creo.not(all(...))
porany(...)
la inversión de los booleanos108
.J, 22 caracteres
fuente
Haskell: 99
Ejemplo
fuente
Python, 116
139caracteres (la doble sangría es tab-char)Utiliza buen tamiz ole de Eratóstenes
Ediciones y (gracias a TON @JPvdMerwe). Debería trabajar con primos ahora.
Original
fuente
a=range(9999)
cona=range(n)
. También en la línea 2 no necesita pasara
a la lambda, solo puede usarla. Esto debería afeitarse mucho.Scala 119:
sin golf:
21.2s para ejecutar todos los 9998 ints de 3 a 10,000
fuente
Jelly , 5 bytes (¿no compite?)
Pruébalo en línea!
fuente
Swift
190187185110Swift es muy malo en code-golf, pero lo intenté de todos modos: D
Se está volviendo cada vez más corto ... (Gracias a @HermanLauenstein por eliminar 75 bytes)
fuente
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)}
(aún no lo he probado correctamente)Pitón (123)
NOTA: El
Primes
módulo fue escrito por mí pero existía antes de que se hiciera esta pregunta. NO fue escrito para esto. Sin embargo, esto se consideró injusto, así que aquí está la versión actualizada.Pitón (215)
fuente
123
Primes
; contra el espíritu del código golf.Stax , 7 bytes
Ejecutar y depurarlo
ASCII equivalente:
Empotrados.
fuente
JavaScript (Node.js) , 79 bytes
Pruébalo en línea!
fuente
C (gcc) , 98 bytes
Pruébalo en línea!
Versión completa del programa, C (gcc) , 116 bytes
Pruébalo en línea!
Ambas versiones suponen que nunca probamos 1 para primalidad, lo que solo sucede si la entrada es 2 o inferior, en cuyo caso la salida no estaría definida de todos modos.
fuente