今天(9月24日)是本田公司的生日。最初他们的公司名称是
本田技研工業株式会社
我想要给本田做个礼物。任务是使程序打印公司名称。你可以用任何你想做的方式,但是只有一个规则,Unicode是不允许的。应该是ASCII的艺术。
我想要求邮编和输出。和以往一样,为了确定胜利者,我会看代码的长度,但是在这种情况下,肖像也很重要。
编辑:输出必须类似于以下内容:本田技研工業株式会社
发布于 2013-09-25 01:32:30
在这里,字符是单独的光栅化。然后用星号替换缩小后的图像的二进制图像数据的零点,然后打印数组本身。
GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style[#, 136], 30]
/. {1 -> "", 0 -> "*"}] & /@ Characters["本田技研工業株式会社"]
下面的所有字符都是一个单一的图像。在这种情况下,星号更难识别为星号。
GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style[#, 136], 300]
/. {1 -> "", 0 -> "*"}, ImageSize -> 1500] &["本田技研工業株式会社"]
发布于 2013-09-24 19:11:47
特别感谢杰萨奇对此解决方案的启发。
c = document.createElement('canvas').getContext('2d');
c.font="30px sans-serif";c.fillText("本田技研工業株式会社", 0,30);d=c.getImageData(0,0,305,40).data;
s="";
for(var y = 0; y<40;y+=2){
for(var x=0;x<305;x++)
s += d[3+4*x+1220*y]? "*" : " ";
s+="\n";
}
小型化
c=document.createElement("canvas").getContext("2d");c.font="30px sans-serif";c.fillText("本田技研工業株式会社",0,30);d=c.getImageData(0,0,305,40).data;s="";for(var y=0;y<40;y+=2){for(var x=0;x<305;x++)s+=d[3+4*x+1220*y]?"*":" ";s+="\n"}
以及输出
**** **** **** *** *** **** **** ** **** **** ****
**** ************************** **** **** ***************************** **** *** *** **** **** ******** ******** ****** **** ****
**** ************************** **** **** * ** ******* ****** ****** ** ************************* **** *** *** **** **** **** **** **** ***** ********** *** ****
**************************** **** **** **** **************************** **** **** **** ************************ **************************** *************************** **************************** ****** ****** ************* ****
*************************** **** **** **** *********** **** **** **** **** **** **** **** *************************** **************************** ******* ******* **** ****
********* **** **** **** **** **** **** **** **** **** ************************** ********** **** **** ***************************** *********************
************ ************************** **** ***************** **************************** **** ************************** ************************* ****************** **** **************** ***** **** **** **********
***** **** **** ************************** ******* **** **** ****** ******************** **** ********************** ************************** ****************** ******* ****
***** **** ***** **** **** **** ******** ***** ***** ******* *** **** **** **** ********************** ******* ******** **** **** **************************** ************* ****
****** **** ****** **** **** **** ******** **** **** * **** *** **** **** **** **************************** ********* *********** **** **** * **** * ** **** *** **** ****
***************************** **** **** **** **** ******* **** *** **** **** **** **************************** ** **** ********* ***** **** * **** *** **** ***** *** ****
**** * **** **** **** **** **** **** ********* ********* ***** **** **************************** **************** ********** **** ****** *********** **** **** **** ***** *** ****
**** ************************** **** ******* ******* ************** **** **************************** ********** **** *********** ******** **** **** ************** ******** *********************** *** *******************
**** **** **** ************** ******* **** ***** **** ****** **** ***** **** **** *** ****** **************** ***** **** *******************
*** * * ** ** **** **** *** ** ***
https://codegolf.stackexchange.com/questions/12627
复制相似问题