Primes sensuais são pares de números (n, m)
como n
e m
ambos são primos e m = n + 6
.
Você precisa criar uma função que aceite um número inteiro, verifique se há primos sensuais de 0 a esse número inteiro e retorne uma matriz de matrizes.
Por exemplo, listSexy(30)
deve retornar [[5,11], [7,13], [11,17], [13,19], [17,23], [23,29]]
ou algo equivalente.
Isso é código-golfe, e o programa com o menor número de vitórias ganha!
Respostas:
MATLAB 32
n é o seu número
fonte
isprime
. Não que o op pretendesse.J,
343331323937 caracteresPerdeu um personagem mantendo ambos os números primos abaixo do limite ... e outros 7 declarando uma função.
Uso:
Editar
Parece que muitas das novas respostas não estão criando funções, aceitando ou limitando os dois números do par abaixo
n
- se eu ignorar essas restrições também, posso ter 28 caracteres :fonte
Mathematica , 35
fonte
GolfScript, 32 caracteres
Como o formato de saída não foi especificado, o código acima imprimirá o prime mais baixo de cada par. Assim, um número
x
é incluído sex
ex+6
são primos e ambos estão abaixon
. A entrada é fornecida como número único no STDIN.fonte
K3 / Kona , 45
.
E a mesma solução na encarnação atual de K, que é idêntica à solução K3, exceto pelo fato de que ele não possui um operador mod embutido, que adiciona cerca de 14 caracteres por 59
fonte
Python (
93 90 9995)Yay para
isprime
funções rápidas e sujas !fonte
1
em vez deTrue
você vai economizar de 3 caracteres ...[]
emall()
não é necessária (pelo menos em Python 2,7).Oitava 39
Modifiquei minha resposta do MATLAB para obedecer às novas regras (irritantes).
n
é o seu valor.Pode ser testado aqui
fonte
C,
1029995 caracteresRetornar uma matriz em C é algo que você tenta evitar. Portanto, a função
s
obtém o limiten
e um ponteiro para uma matriz de números inteiros e a preenche com os dados. Cada par de primos sensuais é colocado em duas posições na matriz. Assimo[0]=5
,o[1]=11
,o[2]=7
,o[3]=13
. A função assume que a matriz é grande o suficiente.fonte
R, 83 caracteres
Uso:
fonte
Ruby
7574A nova versão usa o método de teste principal do Artem Ice :
Teste online: http://ideone.com/yaOdn
fonte
Ruby,
99 88 86 84 8278Saída de amostra:
[[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]]
fonte
Python,
137 132 126 122116Sei que isso é um fracasso, mas é a minha primeira resposta, então por que não?
Usando compreensão de lista, bem como o fato de que
[] = False
f(x)
na verdade, retorna todos os fatores dex
, e então você pode descobrir o que é primordial.fonte
f(x)
emf=lambda x:not[y for y in range(2,x)if x%y==0]
para salvar alguns caracteres. Você também pode reduzir osif
s no final da compreensão da sua lista comf(x)&f(y)&(x-6==y)
.a=lambda x,y,z:(value here)
é o mesmo quedef a(x,y,z):return (value here)
.JavaScript (1 tweet = 140 caracteres)
Aqui 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}
Tente
s(30)
.fonte
J, 25 caracteres
i.n
cria um intervalo de [0, n)(,+&6)"0
pega cada número inteiron
na lista e faz um parn, n+6
(#~ condition)
é basicamente umfilter
, e a condição, neste caso*/"1@p:~&1
, apenas verifica se um par é composto apenas por números primos.fonte
C # (279 caracteres)
Basicamente, é a solução da Saumil com alguns ajustes. Não tenho reputação
suficientepara comentar, então ...Resultado:
fonte
Perl: 73 char
uso:
resultado:
fonte
C # 295
Teste online: http://ideone.com/4PwTW (neste teste, substituí
int.Parse(a[0])
pelo valor int real, pois não posso fornecer argumentos de linha de comando para programas executados em ideone.com)fonte
Mathematica -
6948 caracteresSupondo que m tenha sido atribuído um valor
fonte
Scala (82)
Saída de amostra:
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))
fonte
Fator 140
Essa linguagem é divertida e interessante. Meu primeiro roteiro.
Uso:
fonte
PARI / GP (62 caracteres)
Exemplo:
fonte
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);}}}}
Produto:
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
fonte
class P
vez declass Program
).Haskell (65 caracteres)
A saída:
Sobre a resposta do MATLAB aqui:
(Eu gastei todo o meu representante em uma recompensa, então ainda não posso comentar) . O Google diz: "a função isprime do Matlab ... é baseada no probabilístico Miller-Rabin". Portanto, parece que a entrada do MATLAB deve ser desqualificada.
fonte
R
8581 caracteresExemplo de execução:
fonte
PHP, 106 bytes
programa imprime pares como
n,n+6
delimitados por quebras de linha. Corra com-r
.Modifiquei minha função is_prime (e salvei um byte) para que ela retorne
0
para primos para jogar golfe no Elvis.fonte
Gelatina , 13 bytes (não concorrente)
Experimente online!
Explicação aprimorada:
fonte
Caracteres Obj-C 64
isPrime implementado separadamente
fonte
isPrime
que não faz parte do idioma ou da biblioteca padrão, inclua a contagem de caracteres dessa função como parte da sua pontuação.