Сегодня (24 сентября) день рождения компании HONDA. Первоначально их название компании
本田技研工業株式会社
Я хочу попросить сделать подарок для HONDA. Задача программы - напечатать название компании. Вы можете сделать это любым способом, но есть только одно правило, Unicode не допускается. Это должно быть искусство ASCII.
Я хочу попросить опубликовать код и вывод. Как всегда, чтобы определить победителя, я посмотрю на длину кода, однако портрет в этом случае также важен.
РЕДАКТИРОВАТЬ: выходные данные должны выглядеть примерно так:本田技研工業株式会社
'HONDA'
и утверждать, что это печатает название компании на GolfScript? (Я просто пытаюсь указать на некоторые лазейки). Кроме того, это должно быть помечено как код-гольф ?Unicode is not allowed
где? На выходе (звучит разумно)? Как скрипт? Как внутреннее представление в вашем скрипте?Ответы:
Mathematica
Здесь персонажи индивидуально растрированы. Нули двоичных данных изображения уменьшенного изображения затем заменяются звездочками, а сам массив затем печатается.
Ниже все символы были растеризованы как одно изображение. В этом случае звездочки немного сложнее распознать как звездочки.
источник
Tcl
Ну, наверное, сумасшедший подход.
Вот скриншот:
источник
本田技研工業株式会社
?研
и会
выглядят не очень хорошо, но в целом хорошее решение.JavaScript + HTML, интерактивная версия (275 + 90 = 365 символов)
Многие идеи вдохновлены ответом Остина , но этот является интерактивным; Вы можете изменить размер шрифта! (также правильное количество символов)
Скриншот
Нажатие -и +кнопки изменения размера шрифта. Изображение обрезано, но вы поняли идею.
Скрипка (попробуй сам!)
Вот JSFiddle, где вы можете запустить код самостоятельно.
JS, 275
HTML, 90
Версия с высоким разрешением
http://jsfiddle.net/UjTbK/1/
источник
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)
на три байта короче.Javascript, 261 символов, 226 минимизированных
отдельное спасибо Jsacii за вдохновляющее решение.
Минимизированный
и выход
источник
var
операторы изfor
циклов и заменить (если хотите)"*"
числом.Java,
267260 знаковХорошо, я думаю, что мое решение не сильно отличается от ответа Йоханнеса Куна, но, как кажется, это проблема, которая может быть хорошо решена в Java; мое решение не намного дольше; и вывод немного отличается, я все же выложу:
Отформатировано как:
Вывод:
источник