ASCII कला "हैलो-वर्ल्ड!" [बंद]


39

आपका लक्ष्य सबसे छोटा प्रोग्राम लिखना है जो "हैलो-वर्ल्ड!" ASCII कला के रूप में।

नियम:

  • यह मानव पठनीय होना चाहिए, मुझे इसके आकार (कॉल / पंक्तियों) की परवाह नहीं है
  • आउटपुट में केवल रिक्त स्थान (""), शार्प्स ("#") और newlines होना चाहिए
  • आउटपुट को एक मोनोसप्‍ट फॉन्‍ट के साथ काम करना चाहिए (लेकिन अक्षरों में मोनोस्‍पॉन्टेड फॉन्‍ट का उपयोग जरूरी नहीं है)
  • परिणाम में, प्रत्येक वर्ण को एक दूसरे से कम से कम एक स्थान से अलग होना चाहिए

कृपया अपने कोड में भाषा और बाइट्स की संख्या के साथ एक शीर्षक जोड़ें।


5
bash: 33 अक्षर - pastebin.com/HZ1w8z8g क्या यह स्वीकार्य है?
13

4
हालाँकि हायफ़न क्यों है? ...
टिमवी

1
मुझे लगता है कि HQ9 + जैसे पूर्वनिर्धारित किसी चीज के उपयोग को असंभव या असंभव रूप से कठिन बना देता है।
मैनटवर्क

1
@PeterTaylor: रिक्त स्थान और हैश से युक्त आउटपुट को एक मोनोसैप्ड फ़ॉन्ट के साथ काम करना चाहिए, लेकिन हैश के ढेरों द्वारा दर्शाए गए अक्षरों में सभी की चौड़ाई समान नहीं होनी चाहिए।
तिमवी

जवाबों:


18

मुझे यह बहुत अच्छा लगा

पर्ल, १२६ ११६ ११४ ११२ ९   only 87 ९ (((६ ९) आकर्षण (केवल और कोई बाहरी फ़ॉन्ट नहीं)

अब तक का सबसे छोटा एससीआई समाधान जो किसी भी बाहरी फोंट का उपयोग नहीं करता है।

खैर, मैं कुछ सुरुचिपूर्ण समाधान प्रस्तुत करना चाहता था, लेकिन @ इल्मारी करोनेन ने मुझे चुनौती दी unpack... ऐसा नहीं करना चाहिए :-)

ठीक है, यह 92 88 69 वर्णों का कोड @Ilmari Karonen's के समान कुरूप अप्राप्य आउटपुट उत्पन्न करता है:

say map{y/01/ #/r}unpack"((b6)7a)*",'eT@j@DE
UUBjdeE
wTujjTA
eUBTddE'

अनपैक के बिना अधिक सुरुचिपूर्ण संस्करण (88 वर्ण):

map{print$"x$_,$/x/4/,"#"x!/7/}7&ord,7&ord>>3for'HRyYOKLIIjIRHBa@AJIAIIIJaQHQNSRH'=~/./g

पर मुझे ऐसा लगता है | | e || -। |||, d बात कुछ भी नहीं है जो हैलो-वर्ल्ड जैसा दिखता है! और अनुमति नहीं दी जानी चाहिए, इसलिए असली समाधान यहां चला जाता है - अनपैक वैरिएंट, 87 वर्ण :

say map{y/01/ #/r}unpack"((b6)9a)*",'E`D@HB@Hd
EcD@HB@Hd
ggDsIbaIf
e`dDhRRHE
ECICPaQPf'

आउटपुट:

यहाँ छवि विवरण दर्ज करें

98 वर्णों पर अधिक सुरुचिपूर्ण संस्करण:

map{print$"x$_,$/x/1/,"#"x!/7/}7&ord,7&ord>>3for'PW{nw^QD[w}vK@X@PcP@jCDjXQk[rRRbSQD\CWbXeX'=~/./g

आउटपुट:

यहाँ छवि विवरण दर्ज करें

पुराने समाधान (114 वर्ण), विभिन्न प्रकार के कोडिंग:

print'#'x(3&ord),$"x($:=15&ord>>2),$/x!$:for'EmM}U}]MBEQSM}U}]MBOFNMQOKUMSKUOBEM]MMM]IIIMIUQIAEQWMMgFROYQOB'=~/./g

आउटपुट:

यहाँ छवि विवरण दर्ज करें


अंत में विस्मयादिबोधक भूल गए, हैलो-वर्ल्ड! इसके अलावा, लोअर-केस होना चाहिए e, लेकिन मुझे पता है कि आपने इसे पांच पिक्सेल हाई फॉन्ट के रूप में पठनीय बनाने के लिए अपर-केस किया ...

47

जावास्क्रिप्ट, 178 बाइट्स

c=document.createElement("canvas").getContext("2d");c.fillText("Hello-World!",0,7);d=c.getImageData(1,0,56,7).data;s="";for(i=3;i<1568;i+=4){s+=d[i]?"#":" ";s+=(i+1)%224?"":"\n"}

यह फ़ायरफ़ॉक्स 27 स्क्रैचपैड में काम करता है।

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

मैं एरियल को पहचानता हूं :-D
टिमवी

4
यह मेरा पसंदीदा है। आपने समाधान पर पहुंचने के लिए एक दिलचस्प विधि का उपयोग किया है। आश्चर्यजनक!
डार एग्रीशियस

2
सरल, मेरा मानना ​​है कि आपने अभी जावास्क्रिप्ट के लिए फिगलेट बनाया है;)
वैलीवेस्ट

दागनामित, यह मेरा पहला विचार भी था! यहाँ इसके बजाय एक उत्थान है। :)
जॉर्डन ग्रे

37

गणितज्ञ 101 99 98

यह अभिव्यक्ति को तेज करता है, बाइनरी इमेज डेटा प्राप्त करता है, प्रत्येक 1 को "#" में कनवर्ट करता है, प्रत्येक 0 से "" (खाली स्थान) और 130 वर्ण ग्रिड द्वारा 12 में आउटपुट प्रदर्शित करता है।

GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style["Hello-World!",99],130] 
  /.{1→"",0→"#"}]

नमस्ते

एक चरित्र ने जोनाथन वान मैट्रे को धन्यवाद दिया।


1
एल के बीच मोटाई भिन्न क्यों होती है?
श्रीजेंडर

मैंने एक ही छवि के रूप में अभिव्यक्ति पर रेखांकन किया। अगर मैंने इसे अक्षर से किया होता, तो एल समान होता। इसके अलावा, रेखापुंज ग्रिड आकार में वृद्धि करके, आउटपुट मुद्रित वर्णों की गुणवत्ता के करीब जाता है। लेकिन एक बड़ा ग्रिड अपेक्षाकृत छोटे "#" परिणाम में होता है, इस बिंदु पर कि वे केवल पिक्सेल प्रतीत होते हैं। सवाल यह है: एक छवि में 2 एल अलग वजन क्यों प्राप्त करते हैं?
डेविड एफसी

3
@MrZander, यही कारण है कि फोंट ने संकेत दिया है: जब एक कम-रिज़ॉल्यूशन पिक्सेल ग्रिड में फोंट फिट करने की कोशिश की जाती है, जैसे कि ASCII कला या स्क्रीन पर स्टेम चौड़ाई वास्तव में एक समान नहीं होती है क्योंकि फ़ॉन्ट में सभी आकारों में अभिन्न-पिक्सेल विस्तृत तने नहीं हो सकते हैं। । यहाँ चित्रों के साथ एक अच्छी व्याख्या है।
जॉय

1
शायद ही सबसे अच्छी लग रही है
रॉनन Dejhero

1
जोनाथन वान माट्रे, धन्यवाद। पहले पैरामीटर को 99 तक कम किया जा सकता था लेकिन मैं आउटपुट गुणवत्ता के कारण दूसरे को कम नहीं करना चाहता था। (मुझे पता है कि यह एक कोड-गोल्फ चुनौती है, लेकिन मुझे अपना गर्व है।)
डेविड एफसी

25

डेल्फी 85 बाइट्स

var s:tstringlist;begin s:=tstringlist.Create;s.LoadFromFile('\a');Write(s.Text);end.

मुझे पता है, इसका सबसे सुंदर समाधान नहीं है, लेकिन ऐसा कोई नियम नहीं है जो कहा गया है कि आप बाहरी संसाधनों का उपयोग नहीं कर सकते।
परिणाम: नतीजा


12
+1 अग्रभूमि के बजाय # पृष्ठभूमि के रूप में उपयोग करने की रचनात्मकता के लिए।
गेरिट

1
आप TStringsइसके बजाय s घोषित कर सकते हैं । (लेकिन तात्कालिकता को बनाए रखें TStringList।)
19

क्या वह फ़ाइल जिसे आप वास्तव में डेल्फी के साथ जहाज से लोड कर रहे हैं, या आपने इसे खुद लिखा है? यदि बाद में, मुझे लगता है कि आपको अपने स्कोर के हिस्से के रूप में इसकी लंबाई की गणना करने की आवश्यकता होगी।
इल्मरी करोनें

@ इल्मरी, मुझे यकीन है कि डेल्फी "हैलो-वर्ल्ड" ASCII कला के साथ एक फ़ाइल के साथ जहाज नहीं करता है :) इसके अलावा, यह उत्तर में वर्णित है, कि यह बाहरी संसाधनों का उपयोग करता है।
तिलामा

3
@ लामा: मैंने भी मान लिया था, इसलिए मैं इसे विनम्रता से कहना चाह रहा था। मेरा कहना यह है कि, भले ही बाहरी संसाधनों की अनुमति दी गई हो, फिर भी यह कार्यक्रम किसी के कंप्यूटर पर इसके लेखक (और, वास्तव में, हमारे पास कोई सबूत नहीं है कि यह उसके कंप्यूटर पर भी काम करता है) को छोड़कर विफल हो जाएगा । इसके अलावा, मैं निम्नलिखित पर्ल स्क्रिप्ट के साथ उनके स्कोर को हरा सकता हूं do X:। "बाहरी संसाधन" की सामग्री Xअनिर्दिष्ट है (यह मेरे लिए काम करता है, यह पर्याप्त नहीं है?), लेकिन मैंने नीचे कुछ संभावित सुझाव प्रदान किए हैं ...
इल्मरी करोनें

15

पर्ल 5, 54 बाइट्स / 71 प्रिंट करने योग्य ASCII चार्ट

नोट: यह इस उत्तर का दूसरा संस्करण है। PHP और gzinflate () का उपयोग करते हुए मूल 64-बाइट / 95-चार संस्करण के लिए, इस उत्तर का इतिहास देखें ।

यहाँ 71-char मुद्रण योग्य ASCII संस्करण है:

y/01/ #/,say for unpack'(B40)4',unpack u,'4I*`1`(JJI!$FFNRJU52HIJ0*))H'

54-बाइट संस्करण में गैर-मुद्रण योग्य वर्ण हैं, इसलिए मैं इसे हेक्स डंप के रूप में प्रदान कर रहा हूं। यूनिक्स सिस्टम पर, आप xxd -rहेक्स डंप को एक निष्पादन योग्य पर्ल स्क्रिप्ट में वापस करने के लिए उपयोग कर सकते हैं :

0000000: 792f 3031 2f20 232f 2c73 6179 2066 6f72  y/01/ #/,say for
0000010: 2075 6e70 6163 6b27 2842 3430 2934 272c   unpack'(B40)4',
0000020: 27a4 a011 008a aaa4 1126 9aec aad5 54a8  '........&....T.
0000030: a6a4 0a24 9a27                           ...$.'

दोनों perl -M5.010को पर्ल 5.10+ sayसुविधा को सक्षम करने के लिए चलाने की आवश्यकता है । वे निम्नलिखित उत्पादन का उत्पादन करेंगे:

"हैलो-वर्ल्ड!" का स्क्रीनशॉट  ASCII कला

(स्क्रीनशॉट के रूप में दिखाया गया है, क्योंकि एसई पर विशाल लाइन-ऊंचाई ASCII कला को बदसूरत और पढ़ने में कठिन बना देती है। निचला मामला "ई" अजीब है, लेकिन मेरा मानना ​​है कि यह पठनीय के रूप में योग्य है, अगर केवल मुश्किल से ऐसा हो। "


Ps। यदि ऊपर दिए गए समाधान का आउटपुट आपके लिए बहुत न्यूनतर लगता है, तो यहां एक 92-वर्ण संस्करण है जो टॉमस के समाधान के समान उत्पादन करता है :

y/01/ #/,say for unpack'(B56)*',unpack u,'CH!(`"(`"":,2``B``@GGDC\'(C#(YI!)("I)"2*,),`4,03D'

यहाँ एक स्क्रीनशॉट है:

"हैलो-वर्ल्ड!" का स्क्रीनशॉट  ASCII कला


पी पी एस। मुझे पूरा यकीन है कि यह ( GolfScript, 51 chars ) सबसे छोटा प्रिंट करने योग्य- ASCII समाधान है, अगर आप उन लोगों की गिनती नहीं करते हैं जो बस बैनर / FIGLet को कॉल करते हैं या किसी अन्य तरीके से धोखा देते हैं:

'iJ@Q@HmURBIMM{JkUUJeMRAQIM'{2base(;{' #'=}/}%39/n*

आउटपुट मेरे 71-चार्ट पर्ल समाधान के लिए समान है।


मैं कहता हूँ कि आपने अभी-अभी पठनीयता की सीमा पार की है :-)
टॉमस

1
यह एसई की तुलना में यहां मेरे टर्मिनल में काफी अधिक पठनीय है, क्योंकि यहां बड़ी लाइन की जगह है।
इल्मरी करोनें 23

मेरा मतलब है, यह वैसे भी अपठनीय है। BTW मैं आपके उत्पादन को 92 वर्णों में कर सकता हूं , जिसमें कोई बाहरी संपीड़न एल्गोरिथ्म नहीं है :-)
टॉमस

@ टोमास: आप सही कह रहे हैं, ज़िपिंग यहां जीतने का जवाब नहीं लगता है। अगर मैं पहले से ही नहीं था, तो मैं आपको एक +1 दूंगा। BTW, मैं इसे 71 वर्णों में कर सकता हूं; ऊपर देखो। :-)
इल्मरी करोनें

1
इल्मरी, आपने मुझे चुनौती नहीं दी होगी unpack:-) ६ ९ वर्ण (of के अच्छे उत्पादन के साथ of) का समाधान मिला।
टॉमस

8

शेल + फिगरेट (35)

$ figlet -w 90 -f banner Hello-World!
#     #                                   #     #                             ### 
#     # ###### #      #       ####        #  #  #  ####  #####  #      #####  ### 
#     # #      #      #      #    #       #  #  # #    # #    # #      #    # ### 
####### #####  #      #      #    # ##### #  #  # #    # #    # #      #    #  #  
#     # #      #      #      #    #       #  #  # #    # #####  #      #    #     
#     # #      #      #      #    #       #  #  # #    # #   #  #      #    # ### 
#     # ###### ###### ######  ####         ## ##   ####  #    # ###### #####  ### 

यह किस प्रकार का फ़ॉन्ट है? वे सिर्फ छोटे ऊपरी मामलों के पात्रों की तरह दिखते हैं।
क्रंचर

यह बैनर -f bannerयह पहला ऐसा फ़ॉन्ट था जिसमें मैंने पाया कि # के बजाय # या का उपयोग किया गया था तथा _।
ग्रिम


"90" को "9" में बदलने से एक लंबा और पतला हैलो दुनिया का उत्पादन होता है, हालांकि क्योंकि ओपी स्तंभों या पंक्तियों के बारे में परवाह नहीं करता है, यह स्वीकार्य होना चाहिए।
एलेयार्के

कभी-कभी मतदाता मुझे परेशान करते हैं। यह कैसे आता है +8 का शुद्ध स्कोर मिलता है, लेकिन अन्य अंजीर का जवाब -3 का शुद्ध स्कोर मिलता है?
डिजिटल ट्रामा

8

अजगर 260 215 186 152

>>> print'eJyNkFEKwDAIQ/93isC7/x3LyIJullHrR1BfJSIJPUHTlmiUPHbxC7L56wNCgZAxv3SjDWIxsoOb\nzMaBwyHYPJ5sVPNYxXism74vcIsFZlYyrg=='.decode('base64').decode('zip')
#   #        #  #          #   #   #          #     #  #
#   #        #  #          #  # #  #          #     #  #
#   #   ##   #  #   ##      # # # #   ##   ## #   ###  #
#####  #  #  #  #  #  #     # # # #  #  #  #  #  #  #  #
#   #  ####  #  #  #  # ##  # # # #  #  #  #  #  #  #  #
#   #  #     #  #  #  #     # # # #  #  #  #  #  #  #   
#   #   ###  #  #   ##       #   #    ##   #  #   ###  #

पायथन 196 183 130 114 (लेकिन बदसूरत)

>>> print'eJxTVlBWgCAgAQHKqBywAJeyAgJCZREcZWUYyaUMIpUVEKqRNcLEueDqEaZBLVVWQDITADIdFBw='.decode('base64').decode('zip')
# #  #  # #        # # #        #   # #
# # # # # #  #     # # #  #  ## #  ## #
### ##  # # # # ## # # # # # #  # # #
# #  ## # #  #      # #   #  #  #  ## #

मैंने बेस 64 एनकोडिंग में ज़िप्ड डेटा का उपयोग किया। और कोड इसे बेस 64 एन्कोडिंग से डिकोड करता है और फिर इसे खोल देता है।


वाह, यह वास्तव में फैलाव है!

7

PHP - 183 बाइट्स

स्रोत के रूप में sebcap26 के ASCII कला का उपयोग ...

foreach(str_split(base64_decode('iASAERACCYgEgBKQAgmIxIwKoxo5+SSSCqSSSYnkksqkkkmJBJIKpJJIiOSMBEMSOQ'))as$i=>$j)echo strtr(sprintf("%8s%s",decbin(ord($j)),($i+1)%7?"":"\n"),'01',' #');

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

6

ब्रेनफक, 372 बाइट

(मुझे पता है। लेकिन पूर्णता के लिए, ब्रेनफक होना पड़ता है ^ ^ यह बहुत छोटा नहीं होने जा रहा है, क्योंकि थोड़ी पुनरावृत्ति होती है। पहली और दूसरी पंक्ति पहले से ही लूप ...

++++++++[>++++>++++<<-]>+++>>++++++++++>>+>++[-<<<<<.>.<.>..>>>[-<<<.>>>]<[-<<<.>>>]<<..<.>>>++[-<<.<.>..........<.>....>>]<<<.>.<.>>.>+>>]<<<<<...>.<.>.<.>.<.>.<.>..<..>..<...>.<.>..<.>..<.>..<..>...<..>.<.>..<...>.<.>>.<<.>.<.>.<.>...<.>.<.>.<.>..<.>.....<.>.<...>.<.>.<.>..<.>.<.>...<.>.<.>..<.>>.<<.>.<.>.<...>.<.>.<.>..<..>.......<..>.<..>...<..>..<.>...<.>..<..>..<.

यहाँ दुभाषिया: http://koti.mbnet.fi/villes/php/bf.php


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

@ ASKASK की संख्या जनरेटर और छवि को मेरी छोरों और कुछ अतिरिक्त ट्यूनिंग के साथ मिलाकर, हमें मिलता है:

ब्रेनफक, 343 339 336 334 बाइट्स

हालांकि मेरे मूल संस्करण की तुलना में बदसूरत दिखता है।

+++++[->++++++>+++++++>++<<<]>++>>>+>>++[-<<<<.<.>.<..>>>[-<<<.>>>]>[-<<<.>>>]<<<<..>.<.>>>++[-<<.<.........>.<...>>>]<<.<.>.>.>>+>]<<<<..<<+++++[->>.<.<]>.>.<..>...<.>.<.>.<.>.<..>.<...>..<.>.<..>..<.>.>.<.<.>.<.>.<...>.<.>.<.>.<.>.<.....<++++++[->>.<.<]>..>.<.>.<.>.>.<.<.>.<..>.<..>.<.>.<..>.<.......>...<...>.<..>.<...>.<..>.<..>.

(छवि देखें @ ASKASK का जवाब)


5

एक्मास्क्रिप्ट 6, 172 161

'¡I%e!c0ĄJ¥eìo0¸ËefMs0µKcÊIs0´Ê¢1éo'.split(0).map(s=>s.split('').map(c=>{for(i=8,s='';i--;)s+=(c.charCodeAt(0)-33)&(1<<i)?'#':' ';return s;}).join('')).join('\n')

आउटपुट:

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

स्पष्टीकरण:

ASCII पाठ को एक स्ट्रिंग में संयोजित किया गया है जहाँ प्रत्येक बिट एक पिक्सेल का प्रतिनिधित्व करता है :

  • 0 के लिये SPACE
  • 1 के लिये #

केवल मुद्रण योग्य वर्ण प्राप्त करने के लिए 33 का एक ऑफसेट लागू किया जाता है।


पहले वसा तीर फ़ंक्शन के ब्रैकेट और returnस्टेटमेंट आवश्यक नहीं हैं।
मैनटवर्क

@ मैनटवर्क मैंने इसे हटाने की कोशिश की, लेकिन तब यह संकलन नहीं था। क्या अापको उस बारे में पूर्ण विशवास है?
फ्लोरेंट

1
फ़ायरफ़ॉक्स 27.0: i.stack.imgur.com/VyqnC.png
मैनटवर्क

@manatwork धन्यवाद!
फ्लोरेंट

charCodeAt(0)को कम किया जा सकता है charCodeAt()
चिरू

4

स्किलिंग , 38 अक्षर (76 बाइट्स)

갦륈똄릵꺕녔꺒녪냕녪낷뚕년꺒녦냉괄낵要감嚙긂밃⓶掘⓶終丟併껧뜴꼧밍替現겠合終

आउटपुट:

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

4
कोड-गोल्फ जानकारी पृष्ठ कहता है "यदि आप यूनिकोड का उपयोग करते हैं, तो बाइट काउंट को यूटीएफ -8 का उपयोग करना चाहिए।" अगर मैं गलत नहीं हूं, तो इससे आपकी प्रोग्राम-लंबाई 114 बाइट्स हो जाएगी । (आप जिस 76 बाइट्स का उल्लेख करते हैं, वह बिना किसी बॉम के UTF-16 के लिए होगी।)
रेज करें

@res: मैंने इसे बदल दिया है, क्योंकि इसके लिए कोई आवश्यकता नहीं है। मेरा स्कैप्लिंग दुभाषिया UTF-16 को ठीक-ठीक समझता है, इसलिए यह एक वैध कार्यक्रम है जो UTF-16 के रूप में एनकोडेड है।
टिमवी

1
टिमवी, मामला मायने रखता है
टॉमा

3
@ user689 - वास्तव में "हैलो-वर्ल्ड!" अंत में एक विस्मयादिबोधक बिंदु के साथ ...

1
मुझे लगता है कि "समुदाय द्वारा स्वीकार किया गया" का अर्थ है "स्वीकार किए जाते हैं, सामुदायिक चर्चा के बिना , ऐसा करने की शक्ति वाले बहुत कम लोगों द्वारा।"
Res '

3

ब्रेनफक, 362 बाइट्स

क्षमा करें @ जोहान्स-एच, मैंने आपका देखा और मुझे अपना बनाने के लिए प्रेरित किया। यह कम बाइट्स में परिणाम उत्पन्न करने के लिए शुरुआत में तेज संख्या पीढ़ी के संयोजन और सरल चित्र का उपयोग करता है। हालाँकि यह कहीं और छोरों का उपयोग नहीं करता है इसलिए यह अनुकूलन के लिए है।

+++++[->++++++>+++++++>++<<<]>++>.<.>.<.....>.<.>.<.........>.<...>.<.........>.<...>.<.>.>.<.<.>.<..>.<..>.<.>.<.........>.<...>.<.........>.<...>.<.>.>.<...<.>.<.>.<.>.<.>.<..>.<..>...<.>.<.>.<.>.<..>.<...>..<.>.<..>..<.>.>.<.<.>.<.>.<...>.<.>.<.>.<.>.<.....>.<.>.<.>.<.>.<.>.<.>.<...>.<.>.<.>.>.<.<.>.<..>.<..>.<.>.<..>.<.......>...<...>.<..>.<...>.<..>.<..>.

जो उत्पन्न करता है:

पिक


हम्म। संख्या पीढ़ी कितनी कम है? like कारण बदलने से छवि मुझे धोखा देती दिखती है (कम से कम जब सीधे हमारे समाधानों की तुलना की जाती है - बिल्कुल इस प्रतियोगिता में पूरी तरह से मान्य) ^ ^ मैं बाद में आपकी तरफ देखने जा रहा हूं :) आप पहली बार मेरा पाश ले सकते हैं हालांकि दो लाइनें। यह बहुत छोटा है (अगर मैं सही ढंग से याद करूँ तो यह 10-20 बाइट्स था)
जोहान्स एच।

अपने संस्करण को 343 बाइट पर ले जाएं, मेरा उत्तर देखें
जोहान्स एच।

और यहां तक ​​कि कम, छोरों द्वारा अधिक पुनरावृत्ति की जगह। अब 339।
जोहान्स एच।

मेरे पास आपकी टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है, लेकिन अगर आप अपने नए संस्करण को करीब से देखेंगे तो आपको एक "> <" मिलेगा जिसमें दो बाइट्स निकालने के लिए हटा दिया जा सकता है :)
ASKASK

3

ImageMagick + sed, 71 बाइट्स

मुझे कोई अन्य ImageMagick प्रविष्टियाँ नहीं दिख रही हैं, इसलिए यहाँ जमीन में मेरी देर से हिस्सेदारी है:

convert +antialias label:Hello-World! xpm:-|sed '8,+9y/ /#/;s/[^#]/ /g'

मुझे लगता है कि यह sedहिस्सा शायद कुछ और हो सकता है।

इसे ऑनलाइन आज़माएं

आउटपुट:

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


2

पोस्टस्क्रिप्ट, 154 133

<~GasbQ8I>GO#QsOD7:?,pa&5XCgo@jeLPX:a4F9kN1nu1B@8KjD"^]WgY[MA.2VBjpTNo5$Pi%uI9Lr>,9`~>/FlateDecode filter 999 string readstring pop =

अर्थात

    <~GasbQ8I>GO#QsOD7:?,pa&5XCgo@jeLPX:a4F9kN1nu1B@8KjD"^]WgY[MA.2VBjpTNo5$Pi%uI
9Lr>,9`~>
/FlateDecode filter 
999 string readstring pop 
=

ASCII- केवल स्रोत, ASCII- कला के लिए प्रेरणा जोहान्स एच। का उत्तर था :-)

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

(टर्मिनल में अधिक पठनीय)

पर्ल, 102

print$-%44?'':"\n",vec(unpack(u,'<!040`A!:4@`A`*%7918REEM1":T4)75E(#&1"0``'),$-++,1)?'#':' 'for 0..219

ऊपर जैसा ही आउटपुट। मुझे पता है कि मैं ऊपर दिए गए दोनों पर्ल के जवाबों से हार गया था, लेकिन मैं इसे वैसे भी प्रकाशित करता हूं। कम से कम मैंने कोशिश की और सही दिशा में आगे बढ़ रहा था (और सबसे छोटा जवाब नहीं देखा था) :-)।


2

शुद्ध बैश, कोई बाहरी उपयोगिताओं - 133 वर्ण:

c=" #";for x in 0x{5250088045,55520A914D,74556AAA54,535205124D};do while((s=(t=x)^(x/=2)*2,t));do L=${c:s:1}$L;done;echo "$L";L=;done

एक बिट्स को खोजने के लिए दाएं और बाएं शिफ्ट का उपयोग करें (2 से विभाजित करें और गुणा करें) और xor।

ब्लेंडर / इल्मरी करोनेन से चोरी किया गया फॉन्ट डेटा।

बैश 3.2 और 4.2 में परीक्षण किया गया

वैसे, यह केवल 166 अक्षर है:

echo "# #  #  # #        #   #        #   # #
# # # # # #  #     # # #  #   # #  ## #
### #   # # # # ## # # # # # #  # # #  
# #  ## # #  #      # #   #  #  #  ## #"

1

पायथन 3, 114

print('\n'.join(bin(x)[2:]for x in[353530052677,366448644429,499649260116,357858349645]).translate({48:32,49:35}))

आउटपुट (4-वर्ण लंबा और डब्ल्यू @ इल्मारी करोनन से चुराया गया ):

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

और एक छोटा (107):

print('\n'.join(bin(x)[2:]for x in[11993933918769,16391913257513,12021315382193]).translate({48:32,49:35}))

आउटपुट:

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

यह ज्यादातर अपठनीय है। 2nd आउटपुट से आपकी दुनिया वास्तव में Uorld है।
सिल्विया बुरसा

@ सिल्वियु बुर्का: यह एक वास्तविक टर्मिनल एमुलेटर पर बेहतर दिखता है। इसके अलावा, "मानव-पठनीय" आपको थोड़ी सी जगह देता है। मुझे यकीन है कि आप अनुमान लगा सकते हैं कि "" हेलो !ORLD! माध्यम।
ब्लेंडर

हेक्स स्थिरांक का उपयोग करें और कुछ पात्रों को बंद करें
फ्लोरिस

@ फ़्लोरिस: मैंने कोशिश की है कि। दो-वर्ण उपसर्ग उन्हें लगभग 20 अंकों तक लंबे समय तक बनाता है।
ब्लेंडर

1

अजगर 154 वर्ण, (आकार में चार 5X7)

print'\n'.join(map(''.join,zip(*(''.join("# "[int(e)]for e in"{:07b}".format(ord(c))[1:])for c in"€÷÷÷€ÿñêêòÿ€ÿ€ÿñîîñÿûûÿŸáþÁ¿ÁþáŸÿñîîñÿàïÿ€ÿÿñîî€ÿ‚"))))

उत्पादन

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

1

दे घुमा के:

(103 89 बाइट्स)

कोड:

base64 -d<<<rohBEmRiqIihFVRS7IitVWRSqIihVVRQru5Aoldi|xxd -b|sed -e's/ //g;s/1/#/g;s/0/ /g'|cut -b'9-55'

आउटपुट:

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

छोटा, लेकिन कम पठनीय ( http://mckgyver.pbworks.com/f/1240440791/3PixelFont.jpg पर आधारित ):

कोड:

base64 -d<<<V0nCLsmQdklaqslQV23BTq2Q|xxd -b|sed -e's/ //g;s/1/#/g;s/0/ /g;'|cut -c'9-52'

आउटपुट:

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

1

जावास्क्रिप्ट / ईएस 6 (108 बाइट्स)

कंसोल में कॉपी करें:

[,0xa0a028045,0xeeae2bb5d,0xacaabaa54,0xaeae2ba5d].map(a=>a.toString(2).replace(/./g,b=>' #'[b])).join('\n')

आउटपुट:

"
# #     # #       # #        #   # #
### ### # # ###   # # ### ## # ### #
# # ##  # # # # # ### # # #  # # #  
# # ### # # ###   # # ### #  # ### #"

(ECMAScript6 संगत ब्राउज़र की आवश्यकता है। फ़ायरफ़ॉक्स 22+)

@ Maximeeuziere, @ p01, @aemkei से प्रेरित


.join('\n')को कम किया जा सकता है .join(` `)जहां अंतरिक्ष एक वास्तविक नई लाइन चरित्र है।
चिरू

1

लेखक: ज़ेम, एंकेई, पी 01, जोनास

जेएस कंसोल में इसे निष्पादित करें।

जावास्क्रिप्ट, क्रॉस-ब्राउज़र, 133 132 126 117 बाइट्स

for(i=s="";l=[43117609029,64070269789,46349920852,46890400349][i++];)for(j=0,s+="\n";c=l.toString(2)[j++];)s+=" #"[c]

जावास्क्रिप्ट, ES6, फ़ायरफ़ॉक्स, 108 बाइट्स पर काम करता है

[,0xa0a028045,0xeeae2bb5d,0xacaabaa54,0xaeae2ba5d].map(a=>a.toString(2).replace(/./g,b=>' #'[b])).join('\n')

परिणाम:

>
# #     # #       # #        #   # #
### ### # # ###   # # ### ## # ### #
# # ##  # # # # # ### # # #  # # #  
# # ### # # ###   # # ### #  # ### #

@ p01 ने यहां एक छोटा संस्करण (118 बाइट्स) बनाया: twitter.com/p01/status/433230019419471872
anemkei


1

शैल, 20 वर्ण:

banner Hello-world\!

काम करने के लिए, निश्चित रूप से आपको bannerकार्यक्रम की आवश्यकता है । डेबियन पर, आप इसे bsdmainutilsपैकेज स्थापित करके प्राप्त कर सकते हैं ।

यह आपके संदेश के एक सुंदर रूप से प्रस्तुत किए गए संस्करण को प्रिंट करता है, जिसे पुराने निरंतर-फीड प्रिंटर में से एक पर मुद्रित करने के लिए डिज़ाइन किया गया है, इसलिए उपरोक्त पाठ का आउटपुट 123 कॉलम लंबा है, और आप प्रिंटआउट को पढ़ने के लिए इसकी तरफ मोड़ते हैं। संदेश। आप एक बैनर के रूप में दीवार पर परिणामी कागज लटका सकते हैं, इसलिए नाम।

http://en.wikipedia.org/wiki/Banner_%28Unix%29

संपादित करें: ऐसा लगता है कि डेबियन के पास भी sysvbannerपैकेज है, जो एक बैनर कार्यक्रम स्थापित करता है जो टर्मिनल पर प्रदर्शन के लिए पाठ को क्षैतिज रूप से प्रिंट करता है। हालाँकि, यह केवल संदेश के पहले 10 अक्षरों को प्रिंट करता है, इसलिए यह इस कोड-गोल्फ समस्या के लिए कष्टप्रद है!


1
मेरा मानना ​​है कि आप लिखने के लिए थे banner hello-world
फ्लोरिस

@ फ्लोरिस, हेड-अप के लिए धन्यवाद। फिक्स्ड।
स्टीवेहा

1
ध्यान दें कि बैनर 1979 में यूनिक्स v7 पर दिखाई दिया था और यह लगभग हर यूनिक्स पर पाया जाता है।
sch

@sch, मैं मानता हूं कि bannerयह लगभग हर यूनिक्स के लिए उपलब्ध है। मैंने सिर्फ डेबियन पैकेज को एक सुविधाजनक प्रमाण के रूप में रखा था कि मैं अभी कुछ नहीं बना रहा था, उन लोगों के लिए जो इसके बारे में नहीं जानते थे। इन दिनों मैं bannerकिसी UNIX पर डिफ़ॉल्ट रूप से स्थापित होने की अपेक्षा नहीं करूंगा , किसी भी अधिक से अधिक मैं अब एक कंप्यूटर लैब में निरंतर-फीड प्रिंटर खोजने की अपेक्षा करूंगा। लेकिन बैनर टेक्स्ट बनाने पर कोई भी कोड गोल्फ वास्तव bannerमें उसमें कहीं न कहीं कार्यक्रम होना चाहिए । यह कंप्यूटर geeks के रूप में हमारे समृद्ध सांस्कृतिक इतिहास का हिस्सा है। :-)
स्टीवेहा

1

बैश, 175 170 बाइट्स

एक सुंदर आउटपुट का निर्माण करने के लिए आपको काफी कुछ पात्रों को बर्बाद करने की आवश्यकता है !

base64 -d<<<H4sICKaT9FICAzAxAK2RQQ7AIAgE776CZP7/x1ZjERebcJAL0QybhcV6YdWizAPNaUatQQLFpj6h+c/XA05WF9Wtk9WJcxz4oe6e1YPQa7Wiut2wfjJ16STY30lSnNIlzvdpHhd6MiTOB65NYc+LAgAA|zcat

आउटपुट:

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

आप इसे lzma / unlzma
Emmanuel

0

एफ # - 204 वर्ण

for s in(Seq.map(Seq.unfold(function|0L->None|i->Some(" #".[int(i%2L)],i/2L)))[173948798213L;174770890021L;191304848727L;182715110773L;45277009173L;191279670629L])do printfn"%s"(new string(Seq.toArray s))

आउटपुट:

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

0

पायथन + पाइफिगलेट - 87 वर्ण

from pyfiglet import figlet_format     
print(figlet_format('Hello-World!', font='banner'))

उत्पादन

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

स्थापित करने के लिए pyfiglet, चलाएं:

$ pip install pyfiglet

0

अजगर के साथ अजगर: 66 बिना argv, 69 का उपयोग कर

66:

from pyfiglet import*
print(figlet_format(sys.argv[1],font='3x5'))

69:

from pyfiglet import*
print(figlet_format('Hello-World!',font='3x5'))

उदाहरण के लिए एफआईआर को बुलाया जाना चाहिए:

अजगर asciiart.py 'हैलो-वर्ल्ड!'

दूसरा:

अजगर asciiart.py

आउटपुट:

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

(खैर, यह इस फ़ॉन्ट के साथ थोड़े भद्दा लगता है। फिर भी :))

[संपादित करें] अप्रचलित डैश को तर्क से हटा दिया।


आउटपुट के सामने अतिरिक्त डैश क्यों?
इल्मरी करोनें

मेरी गलती है, कि argv का उपयोग करने वाले एक से आउटपुट है, जहां मैंने तर्क से पहले एक डैश का उपयोग किया (आदत की बात, जैसा कि मैं हर समय बैश का उपयोग करता हूं)। मैं इसे संपादित करूंगा, धन्यवाद।
ताकू

0

जावास्क्रिप्ट 137 (134)

श्वेत रिक्त स्थान का प्रतिनिधित्व करने के लिए पूर्णांक के बिट्स का उपयोग करता है। फ़ायरफ़ॉक्स 27 के साथ परीक्षण किया गया।

137 वर्ण

s="";[0xadb73eead9,g=0xa9252aaa94,0xed252aac95,g+1,0xad272aee99].map(n=>{for(;n>0;n/=2)n%2?[s="#"+s,n--]:s=" "+s;s="\n"+s});console.log(s)

# # ## #  #  ###  # # # ### ### #  ##  #
# # #  #  #  # #  # # # # # # # #  # # #
### ## #  #  # #  # # # # # ##  #  # # #
# # #  #  #  # #  # # # # # # # #  # #  
# # ## ## ## ###  ##### ### # # ## ##  #"

134 वर्ण (180 ° घुमाया गया)

s="";[0xadb73eead9,g=0xa9252aaa94,0xed252aac95,g+1,0xad272aee99].map(n=>{s+="\n";for(;n>0;n/=2)n%2?[s+="#",n--]:s+=" "});console.log(s)

"
#  ## ## # # ### #####  ### ## ## ## # #
  # #  # # # # # # # #  # #  #  #  # # #
# # #  #  ## # # # # #  # #  #  # ## ###
# # #  # # # # # # # #  # #  #  #  # # #
#  ##  # ### ### # # #  ###  #  # ## # #"

0

पायथन 3 (126)

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

print(' '.join(['','\n'][i%40==0]+['#',' '][int('72liw1j4glyc34dum02j2a4ipxa8b7vvp65x511',36)//2**i%2==0]for i in range(200)))

आउटपुट:

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

0

बैश 37 , 33

toilet<<<"Hello-world"|tr \"m \#

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

जो निम्नानुसार है:

echo "Hello-world" | toilet

से man toilet

TOIlet - बड़े रंगीन चरित्र प्रदर्शित करें

साथ tr "'\"m" "#"सभी "वर्ण बदल दिए जाते हैं #


trके मापदंडों को उद्धृत किए जाने से बच जाएगा। मैं tr \'\"m \#इसके बजाय मतलब है tr "'\"m" "#"
15

ओह अच्छा, मैं उस के बारे में पता नहीं था। धन्यवाद @manatwork
फेडोरक्वि

एक सेकंड रुको। toiletउत्पादन कोई भी बोली थी। आपने इसे trपहले पैरामीटर में क्यों शामिल किया ? बस tr \"m \#काफी है।
5

@ मैनटवर्क मुझे लगता है कि मुझे अधिक कॉफी की आवश्यकता है :)
फेडोरक्वी

0

स्मालटाक, 151

हालांकि यह गोल्फ खेल पहले से ही खत्म हो गया है, संदर्भ के लिए:

i:=((Form extent:115@14)displayString:'Hello world'x:0y:12;asImage).0to:13 do:[:y|i valuesAtY:y from:0to:114 do:[:x :p|({$#.$ }at:p+1)print].Stdout cr]

उत्पादन:

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

आपको केवल '' (रिक्त स्थान) और '#' अक्षर (भी newline वर्ण) का उपयोग करना होगा।
मुकुल कुमार

मेरी गलती; आउटपुट पिछले रन से था; कोड सही है "{$ #। $} पर: p + 1"।
ब्लाबला 999
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.