Nota: isso é fortemente inspirado por esta pergunta .
Tarefa:
Sua tarefa é gerar o n
th prime, quando cada caractere do seu programa é repetido várias n
vezes.
Digamos que seu programa seja:
Derp
Cada caractere é repetido uma vez, portanto deve ser exibido 2
.
Quando cada caractere é duplicado no local, da seguinte maneira:
DDeerrpp
Isso deve gerar o segundo primo, que é 3
.
Especificações:
- Seu programa não deve aceitar nenhuma entrada e gerar o respectivo prime.
- Seu programa deve funcionar para todos os números primos, com tempo e memória suficientes.
- As novas linhas iniciais e finais são boas.
- A saída deve estar na base padrão do idioma - se não houver padrão, qualquer base estará correta.
Isso é código-golfe , então o código mais curto em bytes vence.
code-golf
math
primes
source-layout
clismique
fonte
fonte
Respostas:
Gelatina , 13 bytes
Experimente online! ou execute os dez primeiros programas .
fundo
A geléia tem vários tipos diferentes de literais de string; todos eles começam com a
“
. Se o literal contiver mais de um“
, uma matriz de strings será retornada e“
separará as strings umas das outras.Por exemplo,
“abc“def”
produz['abc', 'def']
.Dependendo do último caractere do literal (qualquer um dos
”«»‘’
, onde«
atualmente não está implementado), é possível escolher entre os diferentes tipos de literais. Pois‘
, obtemos os pontos de código na página de código do Jelly em vez dos caracteres Unicode correspondentes.Por exemplo,
“abc“def‘
produz[[97, 98, 99], [100, 101, 102]]
.Os literais nos três primeiros programas correspondem às seguintes matrizes de pontos de código.
Como funciona ( n = 3 )
fonte
GS2 ( confirmação 67fea47 ),
63 bytesComo funciona
Como a maioria dos comandos, os GS2
d
estão sobrecarregados. Inicialmente, há uma lista vazia (a entrada ou a falta dela) na pilha, entãod
calcula sua soma. Após a primeira iteração, há um 0 na pilha ed
calcula sua paridade (também 0 ). Assim, não importa quantas vezes repetimosd
, o resultado sempre será um único 0 .A próxima parte é simples. O comando
n
abre o topo da pilha e pressiona o próximo número primo. Assim, repetirn
k vezes calcula k prime.Finalmente, o comando simplesmente aplica str ao topo da pilha, que converte um número em sua representação de string e não afeta as strings. Portanto, não importa quantas vezes repetamos
R
, o resultado será a representação em cadeia de k prime.fonte