आज (24 सितंबर) को जन्मदिन है [बंद]


10

आज (24 सितंबर) को कंपनी होंडा का जन्मदिन है। मूल रूप से उनकी कंपनी का नाम है

本田技研工業株式会社

मैं होंडा के लिए एक उपहार बनाने के लिए पूछना चाहता हूं। कार्य प्रोग्राम प्रिंट कंपनी का नाम बनाना है। आप इसे अपनी इच्छानुसार कर सकते हैं, लेकिन एक ही नियम है, यूनिकोड की अनुमति नहीं है। यह ASCII कला होनी चाहिए।

मैं पोस्ट कोड और आउटपुट पूछना चाहता हूं। हमेशा विजेता के रूप में निर्धारित करने के लिए मैं कोड की लंबाई देखूंगा, हालांकि इस मामले में चित्र भी महत्वपूर्ण है।

EDIT: आउटपुट को इसमें समान दिखना है:本田技研工業株式会社


ठीक है, इसलिए हमें 'HONDA'इसका उपयोग करने से रोक रहा है और यह दावा करता है कि यह गोल्फस्क्रिप्ट में कंपनी के नाम को प्रिंट करता है? (मैं बस कुछ खामियों को इंगित करने की कोशिश कर रहा हूं)। इसके अलावा, इसका मतलब कोड-गोल्फ के रूप में टैग किया जाना है ?
अस्थिरता

@Volatility मैंने आपकी टिप्पणी के बाद संपादित किया है।
ST3

Unicode is not allowedकहाँ पे? आउटपुट पर (उचित लगता है)? स्क्रिप्ट के रूप में? अपनी स्क्रिप्ट में आंतरिक प्रतिनिधित्व के रूप में?
जोहान्स कुह्न

@JohannesKuhn मेरा मतलब था कि कोई भी मुद्रित वर्ण UNICODE नहीं हो सकता है, स्क्रिप्ट में आप इसका उपयोग कर सकते हैं लेकिन आउटपुट ASCII टेबल वर्णों पर होना चाहिए।
ST3

2
यह कल्पना बहुत अस्पष्ट है कि क्या कोई कार्यक्रम इसे पूरा करता है या नहीं।
पीटर टेलर

जवाबों:


20

मेथेमेटिका

यहाँ वर्णों को अलग-अलग रूप दिया गया है। एक कम छवि के द्विआधारी छवि डेटा के शून्य को फिर तारांकन के साथ बदल दिया जाता है और फिर सरणी स्वयं मुद्रित होती है।

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

होंडा

सभी पात्रों के नीचे एकल छवि के रूप में रेखांकन किया गया था। इस मामले में तारांकन के रूप में पहचानने के लिए तारांकन अधिक कठिन हैं।

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

Image2


बहुत, बहुत अच्छा
डॉ। बिसरिसेर

वाह। बहुत अच्छा लग रहा है। आवश्यकताओं में से एक दृश्य चित्र था और आपके समाधान की बहुत उच्च गुणवत्ता है, इसलिए मैं आपके उत्तर को स्वीकार कर रहा हूं।
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

मैं किसी भी यूनिकोड वर्ण का उत्पादन नहीं करता। मैं सिर्फ उनकी एक तस्वीर लेता हूं और उसे असिसी के रूप में प्रस्तुत करता हूं। खैर, बी / डब्ल्यू।
जोहान्स कुह्न

मैं रंगों को प्रदर्शित करने के लिए और अधिक अलग-अलग पात्र बना सकता था। (प्रोगम आकार की कीमत पर)
जोहान्स कुहन

6

जावास्क्रिप्ट + HTML, इंटरेक्टिव संस्करण (275 + 90 = 365 वर्ण)

ऑस्टिन के जवाब से प्रेरित कई विचार , लेकिन यह एक इंटरैक्टिव है; आप फ़ॉन्ट आकार बदल सकते हैं! (यह भी चरित्र गिनती वास्तव में सही है)


स्क्रीनशॉट

-और +बटन दबाने से फ़ॉन्ट का आकार बदल जाता है। छवि काट दी जाती है, लेकिन आपको विचार मिलता है।

छवि


फ़ेल्ड (इसे स्वयं आज़माएं!)

यहाँ एक 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})()

एचटीएमएल, 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)तीन बाइट्स कम है।
कॉनर ओ'ब्रायन

4

जावास्क्रिप्ट, २६१ अक्षर, २२६ लघु

इस समाधान को प्रेरित करने के लिए 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

यह सिर्फ एडिटर में चिपकाने से था, जिसे एडिट में तय किया गया था
प्रोफेसर अल्लमैन

यही कारण है कि 261 वर्ण है, मेरी गिनती से ...
दरवाज़े

@Doorknob i ने मिनिफायड काउंट पोस्ट किया, जो अपडेट में बदल गया
प्रोफेसर ऑलमैन

आप लूप्स varसे स्टेटमेंट निकाल सकते हैं forऔर "*"एक नंबर से (यदि आप चाहें तो) रिप्लेस कर सकते हैं ।
कॉनर ओ'ब्रायन

1

जावा, 267 260 वर्ण

ठीक है, मुझे लगता है कि मेरा समाधान जोहान्स कुह्न के उत्तर से अलग नहीं है, लेकिन जैसा कि यह लगता है कि यह एक समस्या है जिसे जावा में अच्छी तरह से संभाला जा सकता है; मेरा समाधान ज्यादा लंबा नहीं है; और आउटपुट थोड़ा अलग है, मैं इसे फिर भी पोस्ट करूँगा:

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

आउटपुट:

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

@ बकुरीउ एक अलग फ़ॉन्ट का उपयोग करें। @ ज्ञापन: आप आयात नहीं कर 6 पात्रों को बचा सकते हैं। (आयात करने के लिए 36 वर्णों का उपयोग होता है, पूर्ण योग्य नाम का उपयोग करके प्रत्येक उपयोग के लिए 15 वर्णों की लागत होती है)।
जोहान्स कुह्न

@ जोहान्सन कुह्न: आप बिल्कुल सही हैं। मैंने तदनुसार उत्तर अपडेट किया है, और सरणी घोषणा में एक और अनावश्यक रिक्त भी पाया है।
मेमो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.