सबसे छोटी छँटनी नमस्ते दुनिया


27

एक प्रोग्राम लिखें, जिसमें कोई इनपुट नहीं है और प्रिंट Hello, World!या आपकी भाषा के निकटतम विकल्प को प्रिंट करता है। पकड़ यह है कि आपके कार्यक्रम में प्रत्येक पंक्ति में केवल मुद्रण योग्य ASCII वर्ण होना चाहिए और यह लेक्सोग्राफिक क्रम में होना चाहिए, उर्फ ​​क्रमबद्ध।

यहाँ सभी 95 मुद्रण योग्य ASCII वर्ण हैं:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

इसलिए, उदाहरण के लिए, लाइन !!A0~अमान्य होगी क्योंकि Aऔर 0ऑर्डर से बाहर हैं। लाइन !!0A~मान्य होगी।

आपके प्रोग्राम की प्रत्येक लाइन किसी भी लम्बाई की हो सकती है और किसी भी लाइन की संख्या हो सकती है। खाली लाइनों को क्रमबद्ध माना जाता है। आपके प्रोग्राम में प्रत्येक नया अंक एक ही होना चाहिए (कोई मिश्रण नहीं ) \nऔर \r\n। टैब और अन्य गैर-मुद्रण योग्य ASCII वर्ण निषिद्ध हैं।

लोकप्रिय मांग के कारण , जीत की स्थिति को चारों ओर बदल दिया गया है:
सबसे कम लाइनों के साथ सबमिशन जीतता है। टाईब्रेकर सबसे छोटे कार्यक्रम में जाता है (एकल पात्रों के रूप में गिनती की नई सूची)।

केवल Hello, World!और एक वैकल्पिक अनुगामी न्यूलाइन आउटपुट होना चाहिए। ध्यान दें कि यह HQ9 + अमान्य है क्योंकि यह आउटपुट करता है hello, world। मैं HQ9 के समान भाषाओं को मना कर सकता हूं + जिसमें एक वर्ण है "हैलो, वर्ल्ड!" उनकी तुच्छता के कारण आज्ञा।

संकेत:

यह निश्चित रूप से संभव है एकल और lenguage , हालांकि बहुत संक्षेप में।


7
अब थोड़ी देर हो गई है, लेकिन किसी तरह मुझे कम से कम लाइनें लगती हैं, तो कम से कम बाइट्स अधिक दिलचस्प हो सकता है ...
Sp3000

6
@ Sp3000 हमें एक संयुक्त उपाय की आवश्यकता होगी, वरना Unary और Lenguage का मतलब होगा कि केवल 1-लाइनर्स ही प्रतिस्पर्धा कर सकते हैं।
isaacg

@ Sp3000 हो सकता है, मैं सिर्फ यह सुनिश्चित करना चाहता था कि Unary / Lenguage जीतने की संभावना नहीं थी। हालांकि मैं इसे बदलने के लिए तैयार हूं (क्षमा करें, इसहाक)। यदि आप सहमत हैं तो Spv की टिप्पणी को छोड़ दें।
केल्विन के शौक

@ Sp3000 मैंने आपकी सलाह ली है। अपडेट देखें।
केल्विन के शौक

क्या आदेश उलटा हो सकता है? उदाहरण के लिए, बाएं से दाएं पढ़ना?
इस्माइल मिगुएल

जवाबों:


17

हेडसेट्स , 1 लाइन, 366 बाइट्स

                                                                        $(((((((((((((((((((((((((((((,000000044888<AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIIIIIIIIIIIILPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPTXXXXXXXXXXXXXXXXXXXXXXXX\```diiiiiilqqqqqqqqtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|

हेडस्क एक तुच्छ ब्रेनफॉक प्रतिस्थापन है जहां केवल एक चीज जो मायने रखती है वह है कोड बिंदु मोडुलो 8. समान दिमागी टकराव मात्र है

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++.+++.------.--------.-------------------------------------------------------------------.

सौभाग्य से यह भोली दृष्टिकोण बस फिट बैठता है। बाइट्स नीचे गोल्फिंग के लिए कुछ क्षमता है, लेकिन यह कठिन हो सकता है।

इस पायथन दुभाषिया का उपयोग करके परीक्षण किया गया ।


कोड बनाना

code = "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++.+++.------.--------.-------------------------------------------------------------------."
command_map = "+-<>.,[]"

last_point = 32
out = []

for char in code:
    curr_mod = command_map.index(char)
    last_mod = last_point % 8

    if curr_mod > last_mod:
        last_point += curr_mod - last_mod

    elif curr_mod < last_mod:
        last_point += (8 - last_mod) + curr_mod

    out.append(chr(last_point))

print("".join(out))

वह चतुर था! +1
theonlygusti

क्या आप एक छोटे BF प्रोग्राम का उपयोग कर सकते हैं, या प्रोग्राम एक विशिष्ट कारण से बनाया गया है? मैंने अपने जनरेटर में उपयोग किए गए मेरे बीएफ कार्यक्रम की कोशिश की, लेकिन आउटपुट में कुछ यूनिकोड शामिल थे।
mbomb007

1
@ mbomb007 छोटे बीएफ कार्यक्रमों के साथ समस्या यह है कि यह भोली विधि कोड बिंदु 124 पर समाप्त हो जाती है, इसलिए मुझे नहीं लगता कि नए वर्णों को पेश करने के लिए पर्याप्त wiggle कमरा है ...
Sp3000

30

/// , 7 लाइनें, 22 बाइट्स

/
//Hello
,
 Wor
l
d
!

प्रतिस्पर्धी होने के लिए /// के लिए एक दुर्लभ मौका (जब तक कि कोई भी Unary और Lenguage से शुरू नहीं होता है ...)।

कोड पहले एक का सामना करता है /, और पार्स करता है

/
//

एक प्रतिस्थापन निर्देश के रूप में जो कार्यक्रम के शेष भाग से सभी नई सूचियों को निकालता है। बाद में, कार्यक्रम केवल पढ़ता है

Hello, World!

जो कि शब्दशः मुद्रित है क्योंकि इसमें कोई और स्लैश नहीं है।


19
मुझे यह भी महसूस नहीं हुआ कि URL में एक पंक्ति में कई स्लैश हो सकते हैं।
एलेक्स ए।

4
@AlexA। उस URL को काम करने में महीनों लग गए, IIRC। सर्वर कॉन्फ़िगरेशन और MediaWiki कॉन्फ़िगरेशन में परिवर्तन से निपटने के लिए हमें लेख का नाम बदलना पड़ा।

17

जावास्क्रिप्ट (67 66 62 लाइनें, 227 269 ​​बाइट्स)

(नोट: केवल फ़ायरफ़ॉक्स 36 और सफारी 8 पर परीक्षण किया गया है, इसमें मामूली ईएस 6 सुविधाएँ ( Setवर्ग) शामिल हैं)

Z
=
!""+
(0[[]]
+
(
!!""+Set
));c
=Z[~
-22]
$=Z[
3]
$$=Z[
15]
$$$=Z[
24]
$$$$=Z[
1]
$$$$$=Z[
0]
Set
[c
+
$$$+Z[
5]
+Z[
16]
+
$$$$$+
$$$$+Z[
2]
+c
+
$$$$$+
$$$+
$$$$]
(Z[
14]
+
$$+
$+
$$$$+
$$$$$+
"(\
'H\
"+
$+
$$+
$$+
$$$+
",\
 W\
"+
$$$+
$$$$+
$$+Z[
6]
+
"\
!')\
")
()

उपरोक्त कोड मूल रूप से करता है:

alert("Hello, World!")

जाहिर alertहै छँटनी नहीं है। इसलिए इसके बजाय हमें एक स्ट्रिंग के रूप में स्टेटमेंट जेनरेट करने की आवश्यकता है, और इसे "eval":

s = "alert('Hello, World!')";   // generate this using sorted code
eval(s)

स्ट्रिंग कैसे उत्पन्न करें? ES5 लाइन निरंतरता का समर्थन करता है ताकि

"AL\
ERT" === "ALERT"

लेकिन वर्ण कोड सभी लोअरकेस अक्षरों से पहले\ दिखाई देता है , इसलिए हमें अन्य तरीकों का उपयोग करके लोअरकेस अक्षरों को उत्पन्न करना होगा।

हम यहां JSFuck के कुछ विचार उधार लेते हैं। अलर्ट स्टेटमेंट में शामिल निचले अक्षर हैं:

t e r a o l d

इन सभी को मानक वस्तुओं के पात्रों से निकाला जा सकता है, जिन्हें कुछ क्रमबद्ध अनुक्रमों के रूप में व्यक्त किया जा सकता है:

t, e, r ← true      = !""
a, l    ← false     = !!""
o       ← function  = Set
d       ← undefined = 0[[]]

हम स्ट्रिंग का मूल्यांकन कैसे करते हैं? निश्चित रूप से हम इसका उपयोग नहीं कर सकते eval(s)क्योंकि यह सॉर्ट नहीं किया गया है। वैकल्पिक रूप से हम उपयोग कर सकते हैं Function(s)(), लेकिन हम इसका उपयोग नहीं कर सकते Functionक्योंकि यह या तो सॉर्ट नहीं किया गया है। हालांकि, Functionसभी कार्यों का निर्माता है, जिसका अर्थ है Set.constructor === Function

पहचानकर्ता जोड़ने constructorसे निचले अक्षरों की सूची बन जाती है:

t e r a o l d c u n s

जो सौभाग्य से अभी भी उत्पन्न हो सकता है "truefalseundefinedfunction":

t, e, r, u ← true      = !""
a, l, s    ← false     = !!""
o, c, n    ← function  = Set
d          ← undefined = 0[[]]

उपदेश देने के बाद, उपरोक्त कोड को इस तरह पढ़ना चाहिए:

// lines 1~8 defines our string containing all lowercase letters we want
Z = true + (undefined + (false + Set))
// Z = "trueundefinedfalsefunction Set() { [native code] }"

// lines 8~20 defines the variables `c`, `$` (e), `$$` (l), `$$$` (o), 
// `$$$$` (r), `$$$$$` (t)
// for the corresponding lowercase letters extracted from `Z`

// the rest calls:
Set["constructor"]("alert('Hello, World')")()
// lines 22~36 generates the "constructor" string
// lines 37~61 generates the "alert('Hello, World')" string

अपडेट: पुनर्नामकरण E, L, O, R, Tके विभिन्न पुनरावृत्ति करने के लिए $4 लाइनों को कम।


2
बिल्कुल प्रतिभाशाली! मुझे यकीन है कि यह नहीं पता है कि पायथन में रणनीति के एक ही समय का उपयोग करना संभव है (यह मामला संवेदनशील है)।
mbomb007

बहुत अच्छा! ध्यान दें कि =Z[3*7]लिखा जा सकता है, =Z[~-22]जिसमें दो के बजाय केवल एक लाइन ब्रेक की आवश्यकता होती है।
मैं और मेरी बिल्ली

@ mbomb007 हाँ, लेकिन रिक्त स्थान हैं और वे ASCII सेट में पहले स्थान पर हैं ...
हैरी बीडल

@meandmycat धन्यवाद! अपडेट किया गया।
kennytm

13

अनिद्रा , 4 लाइनें, 59 बाइट्स

 FFFFGjnnnnooty
FLLddeejkopqyyyyy~~
(<ddjnoppppqrtu
<<Fddfj

यह प्रोग्राम लाइन काउंट के लिए अनुकूलित करके बनाया गया है।

10 लाइनें, 43 बाइट्स

(u
pt
(dppty
p~
j
<Fptt{
(otz
?o
FLu
<?FFu~

यह उपरोक्त कार्यक्रम बाइट काउंट के लिए अनुकूलित करके बनाया गया है।


11

साइगविन बैश, 16 लाइनें, 60 बाइट्स

यह केवल विंडोज पर केस-असंवेदनशील फ़ाइल नाम के कारण काम करता है, और यह तथ्य कि साइग्विन उपयोगिताओं के मामले को असंवेदनशील रूप से देखता है, भले ही आप इसे सेट केस-असंवेदनशील पहचानने के लिए सेट न करें।

A\
=Hello
A\
+=\
",
"Wor
A\
+=l
A\
+=d
A\
+=\
!
E\
CHO\
 $A

ECHOअंत में उस पर ध्यान दें ।


मुझे यकीन नहीं है कि यह 17 या 16 लाइनें हैं (बहुत अंत में एक नई रेखा है), लेकिन किसी भी तरह से, यह कुछ भी जीतने वाला नहीं है।
n --h'a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

आपने 10 उत्थान जीते, यह बहुत पहले से ही है। सबसे ऊपर वाले (अभी तक) 12 अपवोट हैं! और 23 upvotes के साथ /// समाधान।
इस्माइल मिगुएल

11

> <> , 6 लाइनें, 111 बाइट्स

  """""""/;;Hello
        &\o
      &++\oooo~~
"++++++++\bbbdlr
    +++++\ccccccccfooo}
    $++66\cfffffooooopr

मुझे एक अतिरिक्त लाइन से बाहर निकलने में परेशानी हो रही है, लेकिन किसी भी मामले में मैं 7-लाइन पद्धति को हराकर खुश हूं।

व्याख्या

> <> एक स्टैक-आधारित 2 डी भाषा है जहां निर्देश एकल वर्ण हैं और कार्यक्रम का प्रवाह ऊपर, नीचे, बाएं या दाएं हो सकता है। "स्ट्रिंग को पार्स करने का निर्देश टॉगल करता है, जब तक कि क्लोजिंग "पूरी नहीं हो जाती, तब तक चार्ट को धकेल दिया जाता है, लेकिन प्रकृति की वजह से> <> सीजाम के तार या पायथन के ट्राइएट उद्धृत स्ट्रिंग्स के साथ "मल्टी-लाइन स्ट्रिंग पार्सिंग" जैसी कोई चीज नहीं है। यह एक बड़ी समस्या बन गई क्योंकि एक लाइन को शुरू करने और समाप्त करने और "बीच में अन्य वर्णों (जैसे "some chars") की अनुमति नहीं है!

ध्यान दें कि /और \कार्यक्रम के प्रवाह को प्रतिबिंबित करते हैं, इसलिए हम वास्तव में पहली पंक्ति को निष्पादित करते हैं, फिर रिवर्स ऑर्डर में सभी लाइनें, और अधिकांश लाइनें वास्तव में पीछे की ओर निष्पादित होती हैं!

[Line 1]

""""""              Three empty strings, push nothing
"/;;Hello  "        Push "/;;Hello  ". Note the wrapping - ><> is toroidal!
""""""              Three empty strings, push nothing

[Line 6]
66++$               Turn the top " " into "," by adding 12, then swap top two
rp                  Reverse stack and pop top 3
ooooo               Print "Hello", stack is now " ,"
fffffc              Push some 15s and a 12

[Line 5]
+++++               Sum the 15s and 12 to give 87, or "W"
}ooo                Move "W" to the back and output ", W"
fcccccccc           Push a 15 and some 12s

[Line 4]
++++++++            Sum the 15 and 12s to give 111, or "o"
"rldbbb\++++++++"   Push chars to stack
r                   Reverse stack
ld                  Push length of stack and 13, not used
bbb                 Push three 11s

[Line 3]
++&                 Sum the 11s to give 33, or "!" and put in register
~~                  Pop top two
oooo                Print "orld"

[Line 2]
&                   Put "!" from register to stack
o                   Print "!"

[Line 1]
;                   Terminate

एक ओर ध्यान दें, यहाँ एक मनोरंजक प्रयास है> <> कम से कम बाइट्स (23 लाइनें, 47 बाइट्स):

v
"
!
d
l
r
o
W

,
o
l
l
e
H
"
/<
l
?
!
;
o
\^

2
दूसरे कोड में आप वर्टिकल रैप-अराउंड के लिए 2 बाइट्स बचा सकते हैं: pastebin.com/heqCr1vJ
randomra

10

सीजेएम, 5 4 लाइनें, 162 बाइट्स

"Hello
")))))))))))))))))))))))))))))))))))68S\cel
"Wor
")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))@SX\c|

अनिद्रा के रूप में लाइनों की एक ही संख्या! (लेकिन बहुत अधिक बाइट्स)

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

व्याख्या

"Hello\n"        Push "Hello" and a newline
)                Uncons the newline
)))...)))        Increment the newline into a ","
68S\             Push 68 and a space then swap, leaving 68 on top
c                Convert 68 into a char "D"
el               Lowercase "D" into "d"
"Wor\n"          Push "Wor" and a newline
)                Uncons the newline
)))...)))        Increment the newline into an "l"
@                Rotate top three elements, moving the "d" to the top
SX\              Push a space and 1 then swap, leaving the space on top
c                Convert the space (which is an array) into a char
|                Bitwise or the space (32) with 1 to give "!" (33)    

CJam स्वचालित रूप से स्टैक को बाद में प्रिंट करता है।

मुझे याद दिलाने के लिए @ ऑप्टिमाइज़र का धन्यवाद Sc, जो काम करता है, क्योंकि अन्यथा SX|विफल रहता है (यह एक सेटवाइज़ या इसके बजाय, एक स्पेस और 1 से मिलकर एरे देता है)।


8

> <> (मछली) , 5 लाइनें, कई बाइट्स

कोड बहुत लंबा है, जब मैं कहता हूं [6535529689086686142930090 '+' signs]और [6535529689086686142930090 'd' characters]कोड की पहली पंक्ति में, मेरा मतलब है कि 6535529689086686142930090एक पंक्ति में शाब्दिक प्लस संकेत हैं!

(और निम्नलिखित पंक्तियों के लिए आवश्यक उपसर्ग रिक्त स्थान जोड़ते हैं।)

'[6535529689086686142930090 '+' signs]^`[6535529689086686142930090 'd' characters]
                                   **,/288
                                     -/:o
                             %**288:;?\
                                   (1:\

एक छोटा परीक्षण योग्य विकल्प जो केवल प्रिंट करता है Hi:

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++^`hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
                                                                                                                               **,/288
                                                                                                                                 -/:o
                                                                                                                         %**288:;?\
                                                                                                                               (1:\

तरीका:

  • पहली पंक्ति में हम बेस128 में स्ट्रिंग का प्रतिनिधित्व करने वाली एक बड़ी संख्या बनाते हैं।
  • बाकी पंक्तियों में (हम नीचे से ऊपर की ओर जाते हैं) हम प्रत्येक लूप में निम्न वर्ण को तब तक प्रिंट करते हैं जब तक कि पूर्णांक का मान 0 तक नहीं पहुंच जाता।
  • पाशन कोड है :1(?;:882**%:o-288**,

(हम इस विधि के साथ मनमाना 2+ चार्ट लंबी स्ट्रिंग प्रिंट कर सकते हैं।)


वैध समाधान नहीं; 6535529689086686142930090 का आदेश नहीं दिया गया है।
Theonlygusti

@theonlygusti "कोड बहुत लंबी है, व्याख्या [6535529689086686142930090 '+' signs]और [6535529689086686142930090 'd' characters]शाब्दिक रूप से कोड की पहली पंक्ति में है।" (यदि मुझे इस बात से कोई मतलब नहीं है कि कोड के दूसरे टुकड़े की जाँच करें।)
यादृच्छिक

ओह ठीक है! क्षमा करें, मूर्खतापूर्ण मुझे: PI ने इसे शाब्दिक रूप से लिया।
Theonlygusti

2
आकार 13 YB है, इंटरनेट के आकार का लगभग 1000 गुना।
चार्ल्स

@ मुझे अगले पंक्तियों सहित ~ 40YB मिलते हैं।
विड्रैक

8

PHP (7/17 लाइनें, 36/59 बाइट्स):

अमान्य उत्तर की मात्रा के कारण, मैंने इस उत्तर को फिर से लिखा है।

ब्राउज़र संस्करण? गया हुआ।

लेकिन मेरे पास 2 समाधान हैं, दोनों पीएचपी में बिटिंग्स xor( ^) के आधार पर ।

यह एक अत्यंत शक्तिशाली उपाय है! कभी-कभी, यह बहुत सारे बाइट्स को बचाने की अनुमति देता है।

सबसे पहले, सबसे छोटा जवाब:

Echo
Hello
,AM^mm
,Wor
,OOO^
"#+n
";

मुझे पता है, यह भयानक लग रहा है, लेकिन यह काम करता है!

अगला नया पर निर्भर करता है।

हाँ, यह newlines का उपयोग करता है ( \n/ UNIX शैली की आवश्यकता है)!

Echo
Bo
.ff
.e
.
"&*]ex
fn
"^
"\n
\n
\n
\n
\n
\n
\n
",B^c
;

इस पर काम करने के लिए नई सीमाएँ आवश्यक हैं।

यह सही नहीं है, लेकिन काम करता है!


दोनों उत्तर @ मार्टिनबटनर के समाधान पर आधारित थे :

Echo
Hello
.
chr
(44
).
chr
(29
+3
).Wor
.l
.d
."!
";

मेरी सभी गलतियों का पता लगाने और उनके सुझावों के लिए @ n̴̖̋h̷͉̃a̷̭̿h̷̰̀ĥ̷̳d @ , @CJDennis , @ MartinBüttner और @skagedal का विशेष धन्यवाद ।


1
ब्राउज़र में आउटपुट है Hello , Wor l d !। अतिरिक्त रिक्त स्थान पर ध्यान दें! यह दुर्भाग्यपूर्ण जवाब नहीं है।
सीजे डेनिस

1
Windows XP पर फ़ायरफ़ॉक्स 36, IE 8, ओपेरा 12.17 और ओपेरा 28 (क्रोमियम) में परीक्षण किया गया। सभी ने आउटपुट को पहचान दिया। चूंकि व्हॉट्सएप के किसी भी नंबर को एक सिंगल स्पेस कैरेक्टर (कोई ब्रेक स्पेस आदि को छोड़कर) के रूप में प्रस्तुत किया जाता है, इसलिए प्रत्येक न्यूलाइन एक स्पेस में परिवर्तित हो जाती है। मुझे यह जानने में दिलचस्पी होगी कि क्या कोई ब्राउज़र रिक्त स्थान के बिना आपके आउटपुट को प्रस्तुत करता है!
सीजे डेनिस

1
भाषा का अच्छा दुरुपयोग! चूँकि यह त्रुटियां उत्पन्न करती हैं, यह तकनीकी रूप से stderr पर जाती है और stdout में नहीं, आपका कोड अब मान्य है, हालांकि मेरे मामले में मुझे अपने ब्राउज़र में बहुत सारी त्रुटियाँ दिखाई देती हैं! और, अविश्वसनीय रूप से नाइट-पिकी, मेरे PHP सेटअप में कम टैग हैं, इसलिए मेरे कंप्यूटर पर पहली पंक्ति <?phpअमान्य है! हालाँकि, मैं आपको इसके लिए माफ़ करूँगा! ठीक है, बस परीक्षण किया गया है <?Phpजो काम करता है, इसलिए मैंने अभी सीखा है कि प्रारंभ टैग केस-असंवेदनशील है!
सीजे डेनिस

1
इस उत्तर में शीर्ष दो समाधान नियमों का पालन नहीं करते हैं। शीर्ष 8 में लाइन 8 के रूप में है। "!<br- यह सॉर्ट नहीं किया गया है। दूसरी पंक्ति 10 के रूप में है: ."!- क्रमबद्ध नहीं है।
स्केडल

1
@IsmaelMiguel मुझे क्षमा करें, लेकिन नहीं। पहले सुझाव की लाइन 7 को क्रमबद्ध नहीं किया गया है। दूसरे सुझाव की पंक्तियों 5 और 7 को क्रमबद्ध नहीं किया गया है।
skagedal

7

पायथ, 7 लाइनें, 23 बाइट्स

-
"Hello
,
 Wor
l
d
!"b

बहुत आसान है, बस एक बहुस्तरीय स्ट्रिंग का उपयोग करें और नए सिरे को हटा दें।

इसे यहाँ आज़माएँ।


@orlp मैंने कुछ दिनों पहले मल्टीलाइन स्ट्रिंग्स को जोड़ा है, और पाइथ को उम्र के लिए इनपुट में नईलाइन्स के लिए समर्थन मिला है। यह बहुस्तरीय मोड का उपयोग नहीं करता है। इसे ऑनलाइन कंपाइलर पर आज़माएं, जिसमें निश्चित रूप से कोई मल्टीलाइन मोड नहीं है।
ईसैक

2
CJam में इसका लगभग समान, एक ही बाइट गिनती के साथ भी है।
ऑप्टिमाइज़र

4

फोर्थ, 41 लाइनें, 143 बाइट्स

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

मुझे इस पर बहुत गर्व है। जब मैंने पाया कि मैं ऐसा कर सकता था, तो मैंने इसे बहुत तेज़ी से बाहर निकाल दिया, Google ने केस-असंवेदनशील भाषाओं की खोज की, और मुझे पहले से ही फोर्थ शालीनता से पता है। यह लगभग निश्चित रूप से छोटा किया जा सकता है, दोनों बाइट्स और लाइनें। सुझावों की सराहना की जाती है। : डी

यह कार्यक्रम अनिवार्य रूप से प्रत्येक ASCII वर्ण के दशमलव मान को धक्का देता है, फिर प्रत्येक को प्रिंट करता है। मैंने इसे लिखने के दौरान अनुकूलन करने का प्रयास किया, इसलिए मैं जितना चाहूँ उससे कम पठनीय है।

33
99
1
+
DUp
8
+
2DUp
6
+
SWap
11
+
2OVer
SWap
8
9
*
EMit
1
+
EMit
DUp
DUp
EMit
EMit
3
+
EMit
29
3
2DUp
+
EMit
*
EMit
EMit
EMit
EMit
EMit
EMit

Emitलाइनों से काम नहीं करते, के रूप में i(105) से भी कम है m(109)।
bcsb1001

यह "EMit" होना चाहिए, फिर?
स्केडल

4

मारबेलस, 9 लाइनें, 94 बाइट्स

3333
    @ADD
    358C
++--29\\
++--3555DE
<<<<<<>>~~
+++++446666D
++++++++../\
      ++------

इसे यहाँ ऑनलाइन टेस्ट करें। Using spaces for blank cellsजाँच होनी चाहिए।

स्रोत का दृश्य प्रतिनिधित्व:

उपरोक्त स्रोत का दृश्य प्रतिनिधित्व

स्पष्टीकरण: इस कार्यक्रम में प्रत्येक हेक्साडेसिमल मूल्य हर "टिक" (जब तक यह चालू है \\, जिस स्थिति में यह दाईं ओर बढ़ता है) नीचे की ओर बढ़ता है। ++मूल्य वृद्धि, वेतन वृद्धि --, ~~एक बिटवाइज़ लागू न करें, आदि। जो मूल्य नीचे आते हैं वे ASIIII वर्ण के रूप में मुद्रित होते हैं।

उदाहरण के लिए: 33शीर्ष कोने में बन जाता है (((0x33 +1 +1) << 1) +1 +1 = 0x6C (l)


2

पर्ल, 17 लाइनें

$_
=
'pr
int
"Hello
,
 Wor
l
d
!"';s
!
!!g
;s
!.
*
!$&
!eex

2

रेबोल - 15 लाइनें (51 बाइट्स)

PRin
AJOin
[
'Hello
Sp 
+
12
Sp
'Wor
'l
'd
Sp
+
1
]

Rebol में शब्द केस-असंवेदनशील हैं (उदाहरण के लिए PRINT, Printऔर printसभी एक ही फ़ंक्शन को कॉल करेंगे)।

उपर्युक्त कोड का विवरण:

prin ajoin [
    'Hello  sp + 12  sp  'Wor  'l  'd  sp + 1
]

एनबी। spअंतरिक्ष चार रिटर्न !


आपका कार्यक्रम अमान्य है, {किसी भी पत्र से पहले नहीं हो सकता।
Theonlygusti

@theonlygusti - फिक्स्ड (9 लाइनों से 13 तक चली गई)। एक ही लाइन जिससे मुझे परेशानी हुई {,}। यह अब Sp + 12(3 लाइनों से अधिक) जो अंतरिक्ष वर्ण + 12 (यानी। कॉमा) के बराबर है
draegtun

2

Unary , 1 लाइन, बहुत सारे बाइट्स

इस कार्यक्रम में हर पात्र है 0। स्रोत को यहां रखने के लिए बहुत लंबा है, लेकिन इसमें इस कई शून्य का एक तार शामिल है:

327380789025192647555922325233404088310881092761595127419003295178342329930050528932118548

यह इस बाइनरी नंबर के लिए दशमलव प्रतिनिधित्व है:

0b1010010010010010010010010110000010010010010110000010010000010010010000010010010000010001001001001011111000010000010000011110001111001011111000000100000011011011100010010010010010010010100100010010010100000000100001011100001100010010010100011011011011011011100011011011011011011011011100000000010100

जो इस ब्रेनफ *** कार्यक्रम से बनाया गया था:

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

देखें कि मैंने इसे कैसे बनाया: http://ideone.com/lMT40p


2

बैच - 39 लाइनें (202 बाइट्स)

मैं स्विच cmdका उपयोग करके कॉल के अंदर कोड चलाकर विलंबित विस्तार को सक्षम करके आकार में कटौती करना चाहता था /v on, लेकिन सभी कैरेटों को पार नहीं कर सका।

@S^
ET^
LO^
C^
AL^
 EN^
ABL^
E^
DEL^
AY^
E^
DEX^
P^
ANS^
IO^
N
@S^
ET^
 0=Hello
@S^
ET^
 1=^
,^
 Wor
@S^
ET^
 2=l
@S^
ET^
 3=d
@E^
CHO^
 !^
0^
!!1^
!!2^
!!3^
!^^^
!

Newlines के बिना (और कैरेट से बचने के लिए नई):

@SETLOCAL ENABLEDELAYEDEXPANSION
@SET 0=Hello
@SET 1=, Wor
@SET 2=l
@SET 3=d
@ECHO !0!!1!!2!!3!^^!

1

रूबी, 19 लाइनें, 95 बाइट्स

$;=
$>
$;<<
:Hello
$;<<
44::chr
$.=
33::
-1
$;<<
$.::chr
$;<<
:Wor
$;<<
:l
$;<<
:d
$;<<
33::chr

संभवतः रूबी के लिए दूसरा सबसे कठिन कोड प्रतिबंध मैंने इस साइट पर देखा है, यहां की राक्षसीता के बाद ।

विवरण के लिए संपादित करें: केवल रूबी आउटपुट पद्धति जो क्रमबद्ध है, <<STDOUT पर विधि है। दुर्भाग्य से, STDOUT के लिए स्थिरांक सबसे अधिक प्रतीकों की तुलना में ASCII है $>, और >इसलिए इस पर एक विधि को कॉल करना वास्तव में संभव नहीं है। हमें एक अधिक ट्रैकेबल वेरिएबल नाम में लाने के लिए एक बहु-पंक्ति असाइनमेंट स्टेटमेंट की आवश्यकता है, $;(अर्धविराम अभी भी बहुत अधिक है, लेकिन इस फॉर्म के अधिकांश चर या तो गैर-असाइन किए जा सकते हैं, या केवल तार हो सकते हैं)।

प्रतीक ( :Wor, आदि) शाब्दिक तरीके से करने का सबसे आसान तरीका है, और मुझे एक स्ट्रिंग से newlines पट्टी करने का तरीका नहीं दिखता है, इसलिए मुझे कई प्रिंट स्टेटमेंट की आवश्यकता है। अंतरिक्ष और विराम चिह्न प्रतीक में नहीं जा सकते, लेकिन सौभाग्य से chrसंख्याओं पर विधि कानूनी है, इसलिए मुझे इसके ASCII मूल्य से एक चरित्र मिल सकता है। ::कॉल करने के तरीकों का एक वैकल्पिक तरीका है। अंतरिक्ष मुश्किल है क्योंकि मैं नहीं लिख सकता 32, इसलिए मैं 33 में से 1 को घटाता हूं और इसे एक चर में असाइन करता हूं।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.