วันนี้ (24 กันยายน) เป็นวันเกิดของฮอนด้า [ปิด]


10

วันนี้ (24 กันยายน) เป็นวันเกิดของ บริษัท ฮอนด้า เดิมชื่อ บริษัท ของพวกเขาคือ

本田技研工業株式会社

ฉันต้องการขอให้เป็นของขวัญให้กับฮอนด้า ภารกิจคือสร้างชื่อ บริษัท การพิมพ์โปรแกรม คุณสามารถทำได้ทุกอย่างที่คุณต้องการ แต่มีเพียงกฎเดียวเท่านั้นไม่อนุญาตให้ใช้ Unicode มันควรเป็นศิลปะ ASCII

ฉันต้องการขอรหัสไปรษณีย์และส่งออก เช่นเคยที่จะตัดสินผู้ชนะฉันจะดูความยาวของรหัสอย่างไรก็ตามแนวตั้งในกรณีนี้ก็มีความสำคัญเช่นกัน

แก้ไข:ผลลัพธ์จะต้องมีลักษณะคล้ายกับนี้:本田技研工業株式会社


เอาล่ะเราจะหยุดอะไรจากการใช้'HONDA'และอ้างว่ามันพิมพ์ชื่อ บริษัท ใน GolfScript? (ฉันแค่พยายามชี้ให้เห็นช่องโหว่บางอย่าง) นอกจากนี้ยังหมายถึงการติดแท็กเป็นรหัสกอล์ฟหรือไม่
ความผันผวน

@ ความผันผวนฉันได้ทำการแก้ไขหลังจากความคิดเห็นของคุณ
ST3

Unicode is not allowedที่ไหน ที่เอาต์พุต (ฟังดูสมเหตุสมผล)? เป็นสคริปต์? ในฐานะตัวแทนภายในสคริปต์ของคุณ?
โยฮันเนสคุห์น

@JohannesKuhn ฉันหมายถึงไม่มีอักขระที่พิมพ์ออกมาไม่สามารถเป็น UNICODE ได้ในสคริปต์ที่คุณสามารถใช้ได้ แต่เอาต์พุตควรอยู่ในตาราง ASCII chars
ST3

2
ข้อมูลจำเพาะนั้นคลุมเครือเกินกว่าที่จะอนุญาตให้มีการกำหนดวัตถุประสงค์ว่าโปรแกรมนั้นตรงตามหรือไม่
Peter Taylor

คำตอบ:


20

มาติกา

ที่นี่ตัวละครจะ rasterized เป็นรายบุคคล ศูนย์ของข้อมูลภาพไบนารีของภาพที่ลดลงจะถูกแทนที่ด้วยเครื่องหมายดอกจันและอาร์เรย์นั้นจะถูกพิมพ์

GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style[#, 136], 30] 
/. {1 -> "", 0 -> "*"}] & /@ Characters["本田技研工業株式会社"]

ฮอนด้า

ด้านล่างตัวละครทั้งหมดถูกแรสเตอร์เป็นภาพเดียว เครื่องหมายดอกจันนั้นยากกว่าที่จะรับรู้ว่าเป็นเครื่องหมายดอกจันในกรณีนี้

GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style[#, 136], 300] 
/. {1 -> "",  0 -> "*"}, ImageSize -> 1500] &["本田技研工業株式会社"]

ภาพที่ 2


ดีมาก ๆ มาก ๆ
ดร. เบลิซาเรี

ว้าว. ดูดีมาก หนึ่งในข้อกำหนดคือภาพบุคคลและโซลูชันของคุณมีคุณภาพสูงมากดังนั้นฉันจึงยอมรับคำตอบของคุณ
ST3

11

Tcl

เป็นวิธีที่อาจบ้า

package r Tk
package r Img
pack [label .l -text 本田技研工業株式会社 -fg #000000 -bg #ffffff]
update
puts [join [lmap line [[image create photo -data .l] data] {join [lmap pixel $line {expr {$pixel ne {#ffffff}?"@":" "}}] {}}] \n]
exit

นี่คือภาพหน้าจอ:

ภาพหน้าจอ


เอาต์พุตเหมือนกัน本田技研工業株式会社หรือไม่
ST3

ดีและไม่ได้ดูดีมาก แต่ทั้งหมดในทางออกที่ดีทั้งหมด
ST3

ฉันไม่ส่งออกอักขระ Unicode ใด ๆ ฉันเพิ่งถ่ายภาพของพวกเขาและแสดงเป็น Ascii กัน b / w
Johannes Kuhn

ฉันสามารถใช้ตัวอักษรต่างกันในการแสดงเฉดสีได้มากขึ้น (ขนาดของโปรแกรม progam)
Johannes Kuhn

6

JavaScript + HTML, เวอร์ชันโต้ตอบ (275 + 90 = 365 ตัวอักษร)

แนวคิดมากมายที่ได้แรงบันดาลใจจากคำตอบของ Austinแต่แนวคิดนี้เป็นแบบโต้ตอบ คุณสามารถเปลี่ยนขนาดตัวอักษร! (เช่นกันการนับตัวอักษรนั้นถูกต้องจริง)


ภาพหน้าจอ

การกดปุ่ม-และ+เปลี่ยนขนาดตัวอักษร ภาพถูกตัดออก แต่คุณเข้าใจ

ภาพ


ซอ (ลองด้วยตัวเอง!)

นี่คือ JSFiddleที่คุณสามารถเรียกใช้รหัสด้วยตัวคุณเอง


จาวา, 275

h=30,(r=function(){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})()

HTML, 90

<button onclick='h--;r()'>-</button><button onclick='h++;r()'>+</button><pre id='p'></pre>

เวอร์ชันความละเอียดสูง

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)สั้นกว่าสามไบต์
Conor O'Brien

4

Javascript, 261 ตัวอักษร, 226 การย่อ

ขอขอบคุณเป็นพิเศษกับjsaciiสำหรับการสร้างแรงบันดาลใจในการแก้ปัญหานี้

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";
}

minified

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"}

และเอาท์พุท

             ****                                                ****        ****                                                                                ***  ***                ****        ****                           **                       ****                  ****         ****             
             ****               **************************       ****        ****          *****************************                                  ****   ***  ***   ****         ****    ********                          ********                 ******                 ****         ****             
             ****               **************************       ****        ****      *    ** ******* ****** ****** **    *************************       ****  ***  ***  ****          ****   **** ****                          **** *****             **********                ***         ****             
 ****************************   ****       ****       ****   ****************************     ****       ****   ****       ************************    ****************************  ***************************   ****************************        ******    ******        *************    ****             
  ***************************   ****       ****       ****   ***********     ****             ****       ****   ****                 ****                     ****      ****         ***************************   ****************************     *******        *******             ****     ****             
          *********             ****       ****       ****       ****        ****            ****        ****   ****                 ****               **************************      **********   ****                          ****          *****************************       *********************       
         ************           **************************       **** *****************     ****************************             ****               **************************      *************************    ******************          ****  ****************  *****      ****   **** **********       
       ***** **** ****          **************************       ******* ****      ****    ******  ********************              ****                 **********************       **************************    ******************                                           *******       ****             
      *****  ****  *****        ****       ****       ****   ********    *****   *****    *******  ***   ****   ****                 ****                 **********************      *******      ********               ****      ****         ****************************  *************    ****             
   ******    ****    ******     ****       ****       ****   ********      **** ****       * ****  ***   ****   ****                 ****              **************************** *********     ***********             ****      ****           *      ****     *      **   **** *** ****    ****             
 *****************************  ****       ****       ****       ****       *******          ****  ***  ****    ****                 ****              ****************************  **  ****   ********* *****           ****     * ****   ***          ****    *****              ***         ****             
 ****   *    ****        ****   ****       ****       ****       ****      *********         ********* *****    ****     ****************************        ****************            **********  ****  ******         *********** ****  ****        ****       *****            ***         ****             
             ****               **************************       ****  *******  *******      **************     ****     ****************************  **********  ****  ***********     ********    ****    ****  **************      ********    ***********************          ***  *******************     
             ****               ****                  ****   **************        *******   ****    *****      ****                                   ******      ****       *****      ****        ****           ***                 ******    ****************     *****       ****  *******************     
             ***                                                 *                     *              **         **                                                ****                  ****         ***                                                               **          ***                          

ฉันคิดว่าบรรทัดแรกควรได้รับการแก้ไข
ST3

นั่นเป็นเพียงการวางลงในตัวแก้ไขแก้ไขใน
ศาสตราจารย์ Allman

นั่นคือตัวละคร 261 ตัวโดยการนับของฉัน ...
Doorknob

@Doorknob ฉันโพสต์การนับแบบย่อ, เปลี่ยนแปลงในการอัปเดต
ศาสตราจารย์ Allman

คุณสามารถลบvarคำสั่งออกจากforลูปและคุณสามารถแทนที่ (ถ้าคุณต้องการ) "*"ด้วยตัวเลข
Conor O'Brien

1

Java, 267 260 ตัวอักษร

เอาล่ะฉันคิดว่าวิธีแก้ปัญหาของฉันไม่ได้ต่างไปจากคำตอบของ Johannes Kuhn แต่ดูเหมือนว่านี่เป็นปัญหาที่สามารถจัดการได้ดีใน Java ทางออกของฉันไม่นาน และผลลัพธ์จะแตกต่างกันเล็กน้อยฉันจะโพสต์ไว้:

class A{public static void main(String[]a){java.awt.image.BufferedImage b=new java.awt.image.BufferedImage(130,16,2);b.createGraphics().drawString("本田技研工業株式会社",0,13);for(int y=0;y<2080;System.out.print((b.getRGB(y%130,y/130)<0?"#":" ")+(++y%130<1?"\n":"")));}}

จัดรูปแบบเป็น:

class A {
    public static void main(String[]a) {
        java.awt.image.BufferedImage b = new java.awt.image.BufferedImage(130, 16, 2);
        b.createGraphics().drawString("本田技研工業株式会社", 0, 13);
        for (int y = 0; y < 2080; System.out
                .print((b.getRGB(y % 130, y / 130) < 0 ? "#" : " ")
                        + (++y % 130 < 1 ? "\n" : "")))
            ;
    }
}

เอาท์พุท:

      #                     #     #                                   # #        #  # #                       #         #    #    
      #       ###########   #     #     #### #######                # # # #      #  # #            # ##      # #        #    #    
 ###########  #    #    #   #  ########   #   #  #    ##########  # # # # # #    #  ######         #       ##   ##    #####  #    
      #       #    #    # ####    #      #    #  #        #       ###########  ### #  #     ############  #       #       #  #    
     ###      #    #    #   #     #      #    #  #        #          #   #       #    #            #     # ######  ##    #  ##### 
    # # #     ###########   #  #######   ### #######      #       ###########   ### #######  ##### #                    #    #    
   #  #  #    #    #    #   ##  #   #   ## #  #  #        #        #########   # #    #        #   #                   ###   #    
  #   #   #   #    #    # ###    #  #    # #  #  #        #            #       # #   ###       #    #    ###########  # # #  #    
 #  #####  #  #    #    #   #    # #     # #  #  #        #       ###########  # #  # # #      #    #        #          #    #    
 #    #     # #    #    #   #    ###     ### #   #        #          # # #       # #  #  #     # ## #  #    #   #       #    #    
      #       ###########   #  ##   ##   # # #   #   ###########   ##  #  ###    # #  #   # #####    # #    #    #      # ####### 
      #       #         # ##  #       #      #   #                #    #     #   #    #               #  ######## ##    #         

@Bakuriu ใช้แบบอักษรอื่น @ memo: คุณสามารถบันทึกได้ 6 ตัวอักษรโดยไม่นำเข้า (การนำเข้ามีค่าใช้จ่าย 36 ตัวอักษรโดยใช้ชื่อที่ผ่านการรับรองแบบเต็มค่าใช้จ่าย 15 ตัวอักษรสำหรับการใช้งานแต่ละครั้ง)
Johannes Kuhn

@Johannes Kuhn: คุณพูดถูก ฉันได้อัปเดตคำตอบตามนั้นแล้วและยังพบช่องว่างที่ซ้ำซ้อนอื่นในการประกาศอาร์เรย์
บันทึก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.