Sua tarefa é imprimir este texto exato:
אבגדהוזחטיכךלמםנןסעפףצץקרשת
(Você tem permissão para imprimir uma nova linha à direita)
Hash SHA256 da codificação UTF-8 do texto:
0ab6f1e0bf216a0db52a4a5a247f95cba6f51496de7a24dfd01f3985dfcf6085
Codificação Base64:
15DXkdeS15PXlNeV15bXl9eY15nXm9ea15zXnted16DXn9eh16LXpNej16bXpden16jXqdeq
Regras
- Você não pode usar um built-in que produza este texto.
- As brechas padrão não são permitidas.
- Isso é código-golfe , então a resposta mais curta vence.
Boa sorte!
code-golf
kolmogorov-complexity
unicode
TuxCrafting
fonte
fonte
1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1499, 1498, 1500, 1502, 1501, 1504, 1503, 1505, 1506, 1508, 1507, 1510, 1509, 1511, 1512, 1513, 1514
. Eu não sei muito sobre hebraico, então você poderia confirmar que isso é realmente intencional?print(map(chr, range(x, y)))
echo 15DXkdeS15PXlNeV15bXl9eY15nXm9ea15zXnted16DXn9eh16LXpNej16bXpden16jXqdeq | base64 -d | sha256sum
produzf1d4b9c12a197912a4bdb80fb3e4d3fad5a0d9b7edd243fae7b2ab3450618036
.Respostas:
MATLAB,
5251 bytesExemplo de uso:
Explicação
'CCCCCCCCCDADDAEADCDAEADCCC'-66
produz a matriz[1 1 ... -1 2 1 1 1]
, que contém as diferenças consecutivas entre os pontos de código dos caracteres desejados.[1488 ...]
precede1488
, então a matriz é agora[1488 1 1 ... -1 2 1 1 1]
.cumsum(...)
computa a soma cumulativa:[1488 1489 ... 1514]
.[... '']
concatena com a cadeia vazia. Isso tem o efeito de converter para char (e é um byte menor quechar(...)
)fonte
Geléia ,
222120 bytesExperimente online!
Idéia
Se subtrairmos 1487 de cada ponto de código, obteremos a matriz R a seguir.
Isso é apenas o intervalo de 1 a 27 , mas não em ordem crescente; os pares (11, 12) , (14, 15) , (16, 17) , (20, 21) e (22, 23) foram trocados.
Se pegarmos o intervalo ascendente e adicionarmos 2 a 11 , 14 , 16 , 20 e 22 , obteremos o array A a seguir.
Isso não é mais uma permutação do intervalo, mas se classificarmos o intervalo de forma estável pelos valores nessa matriz, poderemos reconstruir a matriz original.
Código
fonte
PowerShell v2 +, 58 bytes (UTF-16)
O PowerShell Unicode é UTF-16, a menos que seja especificado explicitamente de outra forma, e, de qualquer maneira, é um crapshoot, pois é todo o UTF-16 em segundo plano.
Isso apenas coloca a string literal no pipeline e o padrão
Write-Output
no final da execução do programa a imprime na tela.O mais curto que consegui obter a versão ASCII é 63
Que pega o valor ASCII da string
ABC...
e adiciona1423
a cada umchar
para obter a string apropriada.fonte
05AB1E ,
3629262523 bytesEconomizou 2 bytes graças a Adnan
Usa a codificação CP-1252 .
Experimente online!
Explicação
fonte
1488•’ÉÇW–moû•5Bvy<+Dç?
.Flak cerebral , 172 bytes
Esta resposta é baseada principalmente em uma solução do DJMcMayhem aqui, então eu recomendo que você verifique.
Como a solução do DJMcMayhem, isso usa o
-rA
sinalizador para reverter a saída e imprimir em unicode.Experimente online!
Explicação
Fiz essa resposta executando várias micro otimizações sobre a solução original fornecida pelo DJMcMayhem. Essas otimizações ao salvar bytes tornam o código ilegível e o algoritmo obtuso. Para ser sincero, eu realmente não entendo como ou o que meu código faz.
Talvez um dia eu entenda como isso funciona ...
fonte
Python 3, 50 bytes
O arquivo deve ser criado usando a codificação CP862 ou revertendo o seguinte hexdump.
Provavelmente, isso pode ser portado para o Python 2 (economizando assim dois bytes), mas me falta o local apropriado para testá-lo. O Python 3 imprime obedientemente uma versão codificada em UTF-8 (ou o que for apropriado para a localidade atual) do alfabeto.
Verificação
fonte
CJam , 23 bytes
Experimente online!
Como funciona
fonte
Flacidez Cerebral , 186 bytes
Esse código tem 182 bytes e eu adicionei 4 bytes para dois sinalizadores de linha de comando:
-r
e-u
Experimente online!
Muito obrigado a @Neil por este incrível metagolfer inteiro que criou essa maneira doce de pressionar 1488 (o ponto de código do primeiro caractere)
Explicação:
Empurrar um grande número de ataques cerebrais é relativamente difícil. No entanto, como o ato de enviar um número também é avaliado para esse número, podemos enviar vários números ao mesmo tempo para obter grandes economias de bytes. Aqui está um exemplo mais concreto. A parte mais interna (que eu escrevi acima) no código psuedo é
Essa expressão é avaliada em 1488, portanto, envolvemos a coisa inteira em outra instrução push:
Isso empurra 1488 e 1489, além de avaliar para 1489. Então, envolvemos isso:
que envia 1488, 1489 e 1490, além de avaliar para 1490. Repita esta etapa para cada número que precisarmos enviar.
No entanto, como os incrementos nem sempre são 1, é um pouco mais complicado que isso. Aqui está uma versão mais legível:
fonte
-r
porque o-
não conta-
não conta se já estiver presente em uma opção diferente (por exemplo, em perl-e
). O Brain-Flak não possui uma opção existente assim, portanto-
, a opção e o espaço, afinal, contam para o total.()()()
para o início e colocá-las para cima e para baixo./// , 27 bytes
Experimente online!
A saída é codificada no CP424 .
Para verificar você mesmo:
fonte
JavaScript (ES6), 59 bytes
O melhor que pude fazer em ASCII foi
807978 bytes:Se uma matriz de caracteres for aceitável, 75 bytes:
Editar: salvou alguns bytes graças a @IsmaelMiguel. Salvou outro byte graças a @ETHproductions. Se você usa o Firefox 30-57, pode salvar outros 2 bytes graças ao @ETHproductions usando compreensão de gerador ou matriz:
fonte
0x377BABBCF7F.toString(3)
. Combinando isso.map()
, você pode fazer_=>0x377BABBCF7F.toString(3,n=1488).split``.map(_=>String.fromCharCode(++n-_))
por 78 bytes. Retorna uma matriz de caracteres...
mas não usamossplit
por aqui._=>String.fromCharCode(...[...0x377babbcf7f.toString(3)].map(c=>++n-c,n=1488))
1 byte menor que os atuais 79 bytes.String.fromCharCode(...)
e consegui me convencer de que sempre seria mais longo. Na verdade, ele salva 4 bytes na minha solução de base 2 (que ainda é de 84 bytes porque leva mais bytes para decodificar)._=>String.fromCharCode(...[for(c of 0x377babbcf7f.toString(3,n=1488))++n-c])
_=>[for(c of 0x377babbcf7f.toString(3,n=1488))String.fromCharCode(++n-c))
05AB1E , 28 * 2-1 = 55 bytes
Experimente online!
-1 byte graças a Emigna + 28 bytes graças a DJMCMayhem;).
fonte
/// , 54 bytes
Experimente online!
Não pode haver nenhuma versão mais eficiente do que esta :(
fonte
Scala / Groovy / Python 3, 9 caracteres ascii + 27 caracteres de 2 bytes = 63 bytes
assumindo UTF-8
Scala, 59 bytes
x+1423
é o mesmo quex-'A'+1488
fonte
APL (Dyalog) , 35 bytes
Experimente online!
fonte
11 14 16 20 22
como⎕A⍳'KNPTV'
C # 6 +,
768682 bytesPrimeira tentativa de golfe. Estou fazendo isso certo?
EDIT : +6 bytes para esquecer de incluir em uma função. Obrigado @Kevin
Versão C # 5 e inferior,
8682 bytesfonte
void F(){Console.WriteLine("אבגדהוזחטיכךלמםנןסעפףצץקרשת");}
seria válido, ou()=>{Console.WriteLine("אבגדהוזחטיכךלמםנןסעפףצץקרשת");}
melhor, eu acho (não tenho certeza sobre este último). Além disso, você pode jogar golfe em.Write
vez de.WriteLine
. :) Dito isto, bem-vindo ao PPCG! Você pode encontrar dicas de golfe em C # interessantes para ler. Aproveite sua estadia.<s>your text</s>
para marcar algum texto em vez de usar caracteres estranhos.Fourier, 53 bytes
Usa funções novamente.
Experimente FourIDE!
fonte
ArnoldC, 112 bytes
fonte
Barril , 34 bytes
Inspirado por uma solução Powershell.
TIO
fonte
BaCon , 57 bytes
Na maioria dos BASICs, o ponto de interrogação representa simplesmente PRINT.
À primeira vista, a solução abaixo se parece com 30 bytes, mas os caracteres hebraicos precisam de 2 bytes de armazenamento por causa do UTF-8. Portanto, existem 27 caracteres x 2 bytes + 1 byte para o '?' e 2 bytes para aspas duplas = 57 bytes.
Solução:
fonte
s-lang , 59 bytes
Resposta realmente simples ...
t
- substituir função (substitui "nada" na entrada pelo alfabeto ...)Experimente aqui
fonte
zsh,
2521 bytesMeu navegador está estragando tudo: o ת deve ser a primeira letra, depois o א. Se você colar em outro lugar, no entanto, deve funcionar. A versão antiga:
fonte
כך
por exemplo (kaf normal primeiro, kaf final segundo), mas no Unicode as letras finais estão antes das letras normais (ךכ
), portanto, o texto impresso é inválido. E se exibir com TAV primeiro, é porque hebraico é uma língua RTL, de modo que o primeiro caractere é exibido mais à direitaJava 7, 85 bytes
Eu nem vou me incomodar em postar código de teste ou um 'Experimente aqui', como eu costumo fazer.
fonte
Perl 6 (74)
fonte
Ruby , 49 bytes
Experimente online!
fonte
Haskell , 23 bytes
Experimente online!
Isso funciona na versão do Hasio da TIO
fonte
C, 49 bytes
Alguns usuários podem precisar ligar
setlocale
antes de usar isso, mas funcionou bem para mim.fonte
for(i=1488;putwchar(i++)<1514;);
vez defor(i=0x5d0;i<=0x5ea;i++)wprintf(L"%lc",i);
Limpo , 62 bytes
Experimente online!
fonte