hoje (24 de setembro) é aniversário da empresa HONDA. Originalmente, o nome da empresa é
本田技研工業株式会社
Quero pedir para fazer um presente para HONDA. A tarefa é fazer com que o programa imprima o nome da empresa. Você pode fazer o que quiser, mas existe apenas uma regra, o Unicode não é permitido. Deve ser arte ASCII.
Quero pedir para postar código e saída. Como sempre, para determinar o vencedor, examinarei o comprimento do código; no entanto, o retrato neste caso também é importante.
EDIT: saída tem que parecer semelhante a isso:本田技研工業株式会社
'HONDA'
e afirmar que imprime o nome da empresa no GolfScript? (Eu só estou tentando apontar algumas brechas). Além disso, isso deve ser marcado como código-golfe ?Unicode is not allowed
Onde? Na saída (parece razoável)? Como script? Como representação interna em seu script?Respostas:
Mathematica
Aqui, os caracteres são rasterizados individualmente. Os zeros dos dados da imagem binária de uma imagem reduzida são substituídos por asteriscos e a própria matriz é impressa.
Abaixo de todos os caracteres foram rasterizados como uma única imagem. Os asteriscos são um pouco mais difíceis de reconhecer como asteriscos neste caso.
fonte
Tcl
Bem, uma abordagem provavelmente louca.
Aqui está uma captura de tela:
fonte
本田技研工業株式会社
?研
e会
não parece muito bom, mas apesar de tudo boa solução.JavaScript + HTML, versão interativa (275 + 90 = 365 caracteres)
Muitas idéias inspiradas na resposta de Austin , mas essa é interativa; você pode alterar o tamanho da fonte! (também a contagem de caracteres está correta)
Captura de tela
Pressionar os botões -e +altera o tamanho da fonte. A imagem está cortada, mas você entendeu.
Fiddle (tente você mesmo!)
Aqui está um JSFiddle onde você pode executar o código sozinho.
JS, 275
HTML, 90
Versão de alta resolução
http://jsfiddle.net/UjTbK/1/
fonte
r=function(h){for(x=document.createElement('canvas').getContext('2d'),x.font=h+'px sans-serif',x.fillText('本田技研工業株式会社',0,h),d=x.getImageData(0,0,w=h*10,h).data,s='',a=0;a<h;a++){for(b=0;b<w;b++)s+=d[3+w*4*a+4*b]?0:' ';s+='\n'}document.getElementById('p').innerHTML=s} (30)
é três bytes mais curto.Javascript, 261 caracteres, 226 minificado
agradecimentos especiais a jsacii por inspirar esta solução.
minificado
e a saída
fonte
var
instruções dosfor
loops e pode substituir (se desejar)"*"
por um número.Java,
267.260caracteresTudo bem, acho que minha solução não é tão diferente da resposta de Johannes Kuhn, mas, ao que parece, esse é um problema que pode ser bem tratado em Java; minha solução não é muito mais longa; e a saída é um pouco diferente, eu vou postar no entanto:
Formatado como:
Resultado:
fonte