Sexy Primes son pares de números (n, m)
como n
y m
ambos son primos y m = n + 6
.
Debe crear una función que tome un número entero, verifique si hay números primos atractivos de 0 a ese número entero y devolverá una matriz de matrices.
Por ejemplo, listSexy(30)
debe devolver [[5,11], [7,13], [11,17], [13,19], [17,23], [23,29]]
o algún equivalente.
Este es el código de golf, por lo que gana el programa con el bytecount más corto.
Respuestas:
MATLAB 32
n es tu número
fuente
isprime
. No es que la operación lo pretendiera.J,
343331323937 caracteresPerdió un personaje manteniendo ambos números primos por debajo del límite ... y otros 7 declarando una función.
Uso:
Editar
Parece que muchas de las nuevas respuestas no están creando funciones, tomando entradas o limitando ambos números en el par para que estén debajo
n
; si ignoro esas restricciones también, puedo bajar a 28 caracteres :fuente
Mathematica , 35
fuente
GolfScript, 32 caracteres
Como no se especificó el formato de salida, el código anterior imprimirá el primo inferior de cada par. Por lo tanto,
x
se incluye un número six
yx+6
son primos y ambos están por debajon
. La entrada se da como un número único en STDIN.fuente
K3 / Kona , 45
.
Y la misma solución en la encarnación actual de K, que es idéntica a la solución K3, excepto por el hecho de que no tiene un operador de mod incorporado, que agrega alrededor de 14 caracteres para 59
fuente
Python (
93 90 9995)¡Yay para
isprime
funciones rápidas y sucias !fuente
1
en lugar deTrue
te ahorrará 3 personajes ...[]
enall()
que no es necesario (al menos en Python 2.7).Octava 39
Modifiqué mi respuesta de MATLAB para cumplir con las nuevas (molestas) reglas.
n
es tu valorPuede ser probado aquí
fuente
C,
1029995 caracteresDevolver una matriz en C es algo que intenta evitar. Entonces, la función
s
obtiene el límiten
y un puntero a un conjunto de enteros, y lo llena con los datos. Cada par de primos sexys se coloca en dos posiciones en la matriz. Asío[0]=5
,o[1]=11
,o[2]=7
,o[3]=13
. La función asume que la matriz es lo suficientemente grande.fuente
R, 83 caracteres
Uso:
fuente
Rubí
7574La nueva versión utiliza el método de prueba principal de Artem Ice :
Prueba en línea: http://ideone.com/yaOdn
fuente
Rubí,
99 88 86 84 8278Salida de muestra:
[[5, 11], [7, 13], [11, 17], [13, 19], [17, 23], [23, 29], [31, 37], [37, 43], [41, 47], [47, 53], [53, 59], [61, 67], [67, 73], [73, 79], [83, 89]]
fuente
Pitón,
137 132 126 122116Me doy cuenta de que esto es un poco fallido, pero es mi primera respuesta, entonces, ¿por qué no?
Usar listas de comprensión, así como el hecho de que
[] = False
f(x)
en realidad devuelve todos los factores dex
, y luego puede resolver la preferencia a partir de eso.fuente
f(x)
enf=lambda x:not[y for y in range(2,x)if x%y==0]
para guardar algunos personajes. También puede reducir losif
s al final de la comprensión de su lista conf(x)&f(y)&(x-6==y)
.a=lambda x,y,z:(value here)
es el mismo quedef a(x,y,z):return (value here)
.JavaScript (1 tweet = 140 caracteres)
Aquí está:
function t(n,i){for(i=2;i<n;i++)if(!(n%i))return!1;return!0}function s(n,p){for(p=[],i=2;i<n-6;i++)if(t(i)&&t(i+6))p.push([i,i+6]);return p}
Tratar
s(30)
.fuente
J, 25 caracteres
i.n
crea un rango de [0, n)(,+&6)"0
toma cada número enteron
en la lista y forma un parn, n+6
(#~ condition)
es básicamente unfilter
, y la condición en este caso*/"1@p:~&1
, solo verifica si un par está compuesto únicamente por números primos.fuente
C # (279 caracteres)
Básicamente, es la solución de Saumil con un par de ajustes. Sin embargo, no tengo
suficientereputación para comentar, así que ...Salida:
fuente
Perl: 73 char
uso:
salida:
fuente
C # 295
Prueba en línea: http://ideone.com/4PwTW (en esta prueba he reemplazado
int.Parse(a[0])
con el valor int real, ya que no puedo proporcionar argumentos de línea de comandos a los programas que se ejecutan en ideone.com)fuente
Mathematica -
6948 caracteresAsumiendo que a m se le haya asignado un valor
fuente
Scala (82)
Salida de muestra:
Vector(List(5, 11), List(7, 13), List(11, 17), List(13, 19), List(17, 23), List(23, 29), List(31, 37), List(37, 43), List(41, 47), List(47, 53), List(53, 59), List(61, 67), List(67, 73), List(73, 79), List(83, 89))
fuente
Factor 140
Este lenguaje es divertido e interesante. Mi primer guion
Uso:
fuente
PARI / GP (62 caracteres)
Ejemplo:
fuente
C # (
321303290 caracteres)using System;namespace X{public class P{ static int l=100;static void Main(){F(0);}static bool I(int n){bool b=true;if(n==1){b=false;}for(int i=2;i<n;++i){if(n%i==0){b=false;break;}}return b;}static void F(int p){if((p+6)<=l){int m=p+6;if(I(m)&&I(p)){Console.WriteLine(m+","+p);}F(p+1);}}}}
Producción:
11,5
13,7
17,11
19,13
23,17
29,23
37,31
43,37
47,41
53,47
59,53
67,61
73,67
79,73
89,83
fuente
class P
lugar declass Program
).Haskell (65 caracteres)
La salida:
Sobre la respuesta de MATLAB aquí:
(Gasté toda mi reputación en una recompensa, así que no puedo comentar todavía) . Google dice: "la función isprime de Matlab ... se basa en el probabilístico Miller-Rabin". Entonces parece que la entrada de MATLAB debe ser descalificada.
fuente
R
8581 caracteresEjemplo de ejecución:
fuente
PHP, 106 bytes
El programa imprime pares
n,n+6
delimitados por saltos de línea. Corre con-r
.Modifiqué mi función is_prime (y guardé un byte) para que regrese
0
para primos al golf en Elvis.fuente
Gelatina , 13 bytes (no competitiva)
Pruébalo en línea!
Explicación mejorada:
fuente
Obj-C 64 caracteres
isPrime implementado por separado
fuente
isPrime
que no forma parte del idioma o de la biblioteca estándar, debe incluir el recuento de caracteres para esa función como parte de su puntaje.