Objetivo:
Um guru disse uma vez que um selfie de código perfeito é melhor filmado na diagonal do canto superior esquerdo. Uma selfie de código é quase como uma Quine - mas girada 45 graus no sentido horário. Sua missão é codificar um programa que gera uma selfie de código.
Regras:
- Você pode usar qualquer linguagem de programação.
- Seus programas não devem receber nenhuma entrada de arquivo, nome de arquivo, rede ou qualquer outra coisa.
Critérios obrigatórios:
Selfies é sobre o motivo e o plano de fundo, portanto, os espaços em branco (e outros conteúdos não visíveis, como feeds de linha e outros) não contam como parte da contagem de caracteres. Todos os caracteres visíveis estão restritos a serem emitidos na posição rotativa correta de 45 graus, enquanto todos os caracteres não visíveis não estão restritos à posição rotativa correta de 45 graus. Assim como uma paleta de cores em uma selfie normal, obrigatória para uma selfie de código é que ela contém pelo menos 16 desses caracteres: {a-zA-Z0-9}
Exemplo:
Se este exemplo for código fonte válido:
Output abcd
Output efgh
Output ijkl
Output mnop
O código de exemplo deve gerar isso:
O
O u
O u t
O u t p
u t p u
t p u t
p u t
u t a
t e b
i f c
m j g d
n k h
o l
p
Este é o código-golfe, o código-fonte mais curto em bytes ganha!
Respostas:
Javascript ( ES6 ), 72 bytes
Palete de 16 caracteres alfanuméricos exclusivos:
fjalert0plcgmixn
m
ei
sinalizadores são adicionados ao regexp para atender aos requisitos mínimos da paleta.fonte
CJam,
30 2825 bytesIsso é demorado devido ao
A-Za-z0-9
limite de 16 caracteres .Esta é uma variante pouco trivial de uma coluna padrão no CJam. Adicionará explicações em breve.
ATUALIZAÇÃO - 2 bytes salvos graças a Martin, 3 bytes salvos graças a Dennis
Experimente online aqui
fonte
Java, 312
Na verdade, existem 326 bytes, mas se eu entendi as regras corretamente, não preciso contar os 14 espaços.
O programa é basicamente um quine Java padrão, além de muito espaço em branco.
fonte
Python 3, 139 caracteres - 10 espaços = 129 caracteres
Como meu código era uma linha, tudo que eu precisava fazer era imprimir o programa na diagonal. Minha string tem o nome estranho 'sjxd', para que meu código possa ter os 16 caracteres alfanuméricos exclusivos.
fonte
CSS, 69 bytes
Coloque uma página html em branco para evitar conflitos com outras tags.
Paleta:
stylebfortanm45dgiplck
(22 caracteres)fonte
MATLAB, 40 bytes
Um pouco difícil com a coisa da recursão - como você imprime seu próprio código-fonte ao adicionar o código a uma string a ser impressa aumenta o tamanho do próprio código-fonte. Mas, mesmo assim, o seguinte será feito:
O
123456;
bit existe para atender aos 16 caracteres únicos necessários. São utilizados os seguintes:O código acima não funciona no Octave por algum motivo, mas funciona no MATLAB. Abaixo está a saída:
Agora, se você não se importa com o
ans=
que o MATLAB gosta de colocar, o seguinte funcionaria para 32 bytes :fonte