अपने पसंदीदा वाक्यांश कार्यक्रम


28

एक उद्धरण या वाक्यांश चुनें जो ठीक 5 शब्द लंबा हो, जैसे कि Programming puzzles and code golf!

एक प्रोग्राम लिखें, जो कि n बार ही जोड़ा जाता है , क्रम में आपके वाक्यांश के पहले n + 1 शब्दों को आउटपुट करता है ।

उदाहरण के लिए, यदि आपका प्रोग्राम कोड था MYPROGऔर आपका वाक्यांश Programming puzzles and code golf!चल रहा था , ...

  • MYPROG आउटपुट चाहिए Programming
  • MYPROGMYPROG आउटपुट चाहिए Programming puzzles
  • MYPROGMYPROGMYPROG आउटपुट चाहिए Programming puzzles and
  • MYPROGMYPROGMYPROGMYPROG आउटपुट चाहिए Programming puzzles and code
  • MYPROGMYPROGMYPROGMYPROGMYPROG आउटपुट चाहिए Programming puzzles and code golf!

4 से अधिक बार अपरिभाषित करने से आपका कार्यक्रम कुछ भी हो सकता है।

नियम

  • आपका वाक्यांश व्याकरणिक अर्थपूर्ण अंग्रेजी होना चाहिए। आदर्श रूप से इसे ठीक से पूंजीकृत और छिद्रित किया जाना चाहिए।
  • आपका मुहावरा किसी भी लम्बाई का हो सकता है लेकिन इसकी एंट्रोपी, जैसा कि http://www.shannonentropy.netmark.pl/ द्वारा गणना की गई है , 3.5 से कम नहीं हो सकता है
    (अपने वाक्यांश में पेस्ट करें, गणना करें और अंतिम एच (एक्स) की तलाश करें ।)
  • आपके वाक्यांश में केवल मुद्रण योग्य ASCII वर्ण (हेक्स 20 से 7E) हो सकते हैं। आपके कोड में केवल मुद्रण योग्य ASCII और टैब और नए अंक शामिल हो सकते हैं।
  • आपके वाक्यांश में ठीक 5 अनूठे शब्द और 4 स्थान होने चाहिए। सभी गैर रिक्त स्थान शब्दों के भागों के रूप में गिने जाते हैं। स्पेस शब्द सीमाएँ हैं। वे अग्रणी या अनुगामी नहीं हो सकते हैं; एक के बाद एक होना चाहिए लेकिन अंतिम शब्द।
  • आउटपुट में शब्दों के बीच एक स्थान होना चाहिए। प्रत्येक आगामी चरण में आउटपुट में अनुगामी स्थान हो सकते हैं लेकिन प्रमुख स्थान नहीं।
  • स्टडआउट के लिए आउटपुट। कोई इनपुट नहीं है।

स्कोरिंग

आपका स्कोर आपके प्रारंभिक संयुक्त राष्ट्र के कार्यक्रम के बाइट्स में लंबाई है। (उदा। MYPROGस्कोर 6)

जैसा कि यह कोड-गोल्फ है, सबसे कम स्कोर जीतता है।


21
aww, एन्ट्रापी और विशिष्टता आवश्यकताओं ने प्रवेश के रूप में "भैंस" के मेरे विचार को मार दिया।
Spur

4
मुझे तब तक Piet में बहुत मज़ा आने वाला था जब तक "आपके कोड में केवल मुद्रण योग्य ASCII और टैब और नए अंक शामिल हो सकते हैं।" :(
Sp3000

3
@ Sp3000 मानद जवाब में आपका स्वागत है। मैं एक Piet समाधान देखना पसंद करूंगा :)
केल्विन के शौकीनों का

यह एकमात्र ऐसी स्थिति है जहां हास्केल की शुद्धता बिल्कुल समस्या है ...
Rhymoid

व्याकरणिक अर्थपूर्ण अंग्रेजी बहुत अस्पष्ट है व्याकरणिक और अर्थपूर्ण की विभिन्न व्याख्याओं के कारण "व्याकरणिक अर्थपूर्ण अंग्रेजी" क्या है।
मिल्कीवेय 90

जवाबों:


6

CJam - 24

"TheguywasnotI"Lm3<]S*:L

इसे http://cjam.aditsu.net/ पर आज़माएं

स्पष्टीकरण:

Lm"TheguywasnotI" से L (शुरू में "") में निहित अक्षरों को हटाता
3<है, पहले 3 अक्षर लेता
]है एक सरणी में स्टैक की सामग्री को एक सरणी में जोड़ देता है
S*अंतरिक्ष का उपयोग करके सरणी जुड़ता है क्योंकि विभाजक
:Lएल को परिणामी स्ट्रिंग प्रदान करता है (स्टैक पर भी) )

पुराना संस्करण (28 बाइट्स):

"He is but a dog."S/W):W=]S*

स्पष्टीकरण:

S/स्पेस
W):Wइन्क्रीमेंट्स W से विभाजन (शुरुआत में W = -1)
=W'th शब्द को
]इकट्ठा करता है, एक सरणी में स्टैक की सामग्री
S*को एक विभाजक के रूप में अंतरिक्ष का उपयोग करके सरणी में मिलती है।


यह भाषा वास्तव में दिलचस्प है। जैसे वे कहते हैं, "आप हर दिन एक नई भाषा के बारे में सीखते हैं" ... या ऐसा ही कुछ। अच्छा कार्य!
ब्रोबिन

डेनिस के बजाय यह स्वीकार करना उतना ही छोटा जवाब है जितना पहले पोस्ट किया गया था।
केल्विन के शौक

28

पीट (मानद जवाब)

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

नीचे की ओर अपना रास्ता बनाता है, नीले रंग के माध्यम से दाईं ओर भागता है और हरे रंग के माध्यम से फिर से प्रवेश करता है। प्रिंट करता है "फल केले की तरह उड़ता है।"

मैंने इसे बनाने के लिए PietCreator का उपयोग किया , लेकिन आप इसे यहां आज़मा सकते हैं । रीमेकिंग पीट प्रोग्राम एक दर्द है, इसलिए मैंने 35x35 पर शुरू किया और उस तरह से जारी रखा, जिसका अर्थ है कि मैंने अपनी ज़रूरत से ज़्यादा कोडल्स का इस्तेमाल किया।

वास्तविक आकार संस्करण

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


11

> <> (42)

मछली वास्तव में सबसे बड़ी पालतू जानवर हैं। कुछ लोग तर्क के अभाव की वजह से कीड़े को पालतू जानवर के रूप में रखते हैं। यह कार्यक्रम ऐसे लोगों के साथ तर्क करने की पूरी कोशिश करता है।

!v'?od gub yna nac tahW;'00p!
<<|ov!
voo <

ध्यान दें कि इस कार्यक्रम में कोई नई रूपरेखा नहीं है। पूर्ण उत्पादन पहली पंक्ति में उलट है; पूरा वाक्यांश है "कोई भी बग क्या कर सकता है?" (एन्ट्रापी 3.58418)।

पूर्ण विवरण:

यह मेरे द्वारा लिखे गए अधिक मजेदार> <> कार्यक्रमों में से एक है, क्योंकि यह पहला है जो प्रतिबिंब का उपयोग करता है। पहली पंक्ति वह है जहां कार्यक्रम का मांस है।

!vएक नो-ऑप है, क्योंकि !अगले निर्देश को छोड़ दिया जाता है।

'?od gub yna nac tahW;' स्टैक पर पूर्ण वाक्यांश संग्रहीत करता है (यह पीछे की ओर है क्योंकि प्रत्येक अक्षर लिखित आदेश में स्टैक पर धकेल दिया जाता है, इसलिए इसे अच्छी तरह से बंद करने के लिए उलट होना चाहिए)।

00pवह जगह है जहाँ असली जादू होने लगता है। ध्यान दें कि यह सिर्फ वाक्यांश को संग्रहीत नहीं करता था, यह भी संग्रहीत करता है ;00pस्थिति में स्टैक पर शीर्ष चरित्र सम्मिलित करता है (0, 0), इसलिए अब कार्यक्रम का पहला चरित्र ए है ;

अंत में !उस अर्धविराम को छोड़ दिया जाता है, और कर्सर को आगे बढ़ाया जाता है v, जो कार्यक्रम के प्रवाह को नीचे की ओर निर्देशित करता है।

यहाँ से बाहर, यह सब सिर्फ मुद्रण दिनचर्या है। चूँकि कोई अनुगामी न्यूलाइन नहीं है, इसलिए प्रोग्राम की क्रमिक परिशिष्ट केवल अंतिम दो पंक्तियों को जोड़ते हैं, प्रभावी रूप से, चूंकि पहली पंक्ति दाईं ओर voo <होगी, और इस तरह कभी भी निष्पादित नहीं होगी।

अंत में, कर्सर को प्रोग्राम के नीचे बाईं ओर निर्देशित किया जाता है, और वापस ऊपर बाईं ओर चारों ओर लपेटता है, जहां ;पहले प्रोग्राम को समाप्त किया गया था।


एक मिनट पहले यह तकनीकी रूप से अमान्य था, लेकिन मैंने अभी युक्ति को बदल दिया है ताकि कोड में newlines (और टैब) को अनुमति दी जाए (जो कि मैं मूल रूप से चाहता था)।
केल्विन के शौक

ओह, मेरा बुरा, पूरी तरह से याद है कि स्रोत पर लागू होता है, न कि केवल वाक्यांश। मुझे खुशी है कि यह मंशा थी,> <> कार्यक्रम काफी हद तक नई कहानियों पर भरोसा करते हैं।
माइक प्रीच

यदि आप इसे थोड़ा नीचे करना चाहते हैं, तो आप 11 अक्षरों के साथ एक वाक्यांश का उपयोग कर सकते हैं और कोई दोहराया वर्ण नहीं हैं, जैसे कि "It is by a rope."आपका वाक्यांश वर्ण दोहराता है, इसलिए इसमें कम एंट्रोपी हो सकती है।
isaacg

समस्या यह है कि प्रत्येक आउटपुट मूल रूप से अच्छी तरह से प्रिंट करने के लिए समान लंबाई का होता है, क्योंकि> <> आसानी से रिक्त स्थान का पता नहीं लगा सकता है। मैं एक छोटे से एक को खोजने में सक्षम नहीं है।
माइक प्रीची

2
@isaacg व्यक्तिगत रूप से मुझे माइक का वाक्यांश पसंद है;)
केल्विन के शौक

10

अजगर 66

i='i'in dir()and i+1;print("Tfpcfhaialetgny"[i::5],end=" ."[i>3]);

एन्ट्रापी: 3.61635

ouput:

The fat pig can fly.

वैरिएबल डिटेक्शन पार्ट को छोटा करने के टिप्स के लिए @JasonS और @grc का शुक्रिया।

अपडेट: एक दुष्ट रैपराउंड ट्रिक के लिए जेसन का जवाब देखें, जिसने इसे 55 बाइट्स तक पहुंचा दिया। :)


i=locals().get('i',-1)+1;-5 बाइट्स है
जेसन एस

मुझे इससे हराएं! मैं उपयोग करने जा रहा था i='i'in dir()and i+1। संपादित करें: नियम बदल गए।
grc

खैर, यह एक और -4 है
जेसन एस

अजगर 2 के साथ 60 बाइट्स:i='i'in dir()and i+1;print"Tfpcfhaialetgny"[i::5]+" ."[i>3],
nyuszika7h

9

पायथन 3, 55 (बोनस 67)

# 55 bytes, H(X)=3.72, Based on bitpwner's 66. "Mix dog and cat fur."
i=0;print("Mdacfionauxgdtr"[i::5],end=" ."[i>3]);i+=1;i

# 67 bytes, H(X)=4.28. "Thanks for supporting Python development."
q=b"qx!%%0077C";a,b,*q=q;print((str(credits)*2)[49:][a:b],end='');q

# 60 bytes, H(X) = 3.51. "Fix the bed old pal"
s="Fixthebedoldpal";a,b,c,*s=s;print(a+b+c,end='. '[s>[]]);s

आप मतलब यह चारों ओर लपेटता है?

ठीक है, # 2 पर कुछ स्पष्टीकरण (बिगाड़ने वाले)

  • creditsएक पायथन बिल्डिन है जिसमें वह पाठ है जिसमें मैं उपयोग करना चाहता हूं। यह एक स्वरूपित के साथ एक विशेष प्रकार का है reprताकि आप इसे इंटरएक्टिव इंटरप्रेटर में टाइप कर सकें और अच्छा आउटपुट देख सकें, इसलिए मुझे यह करना str()होगा। मैंने इसके लिए बिल्डिंस को देखने में काफी समय बिताया और वाक्यांश के रूप में "पायथन विकास का समर्थन करने के लिए धन्यवाद" भी पास होने के लिए बहुत अच्छा था।

  • चूंकि बहुत अधिक पाठ है और मैं केवल अपने 5 शब्द चाहता हूं, इसलिए मैं प्रत्येक प्रतिस्थापन के आरंभ और अंत के पदों को संग्रहीत करना चाहता हूं। यह शुरुआत में बाइट्स में है। bytesजब आप उन पर अनुक्रम संचालन का उपयोग करते हैं, तो python3 में ऑब्जेक्ट पूर्णांक के सरणियों की तरह काम करते हैं।

  • लेकिन कोड में केवल मुद्रण योग्य वर्ण शामिल हो सकते हैं, इसलिए मुझे एक ऑफसेट (49) ढूंढना पड़ा, जो मेरे सभी स्थिति मूल्यों को वर्णों के रूप में प्रिंट करने योग्य बना देगा।

  • "धन्यवाद" स्ट्रिंग की शुरुआत के पास है जबकि अन्य शब्द अंत के करीब हैं, जिसका अर्थ है कि मेरी स्थिति के मूल्य प्रिंट करने योग्य सीमा में सभी के अलावा बहुत दूर थे। 2 से स्ट्रिंग को मूल रूप से "धन्यवाद" की एक और प्रतिलिपि बनाता है जो अन्य शब्दों के करीब है।

  • [49:]स्ट्रिंग के स्लाइस लेना 49 और ए दोनों को जोड़ने की तुलना में एक कम स्रोत बाइट है।

  • तीनों उत्तरों में प्रयुक्त निर्माण है x=<value>;dostuff and increment;x। अनुगामी xकुछ भी नहीं करता है, लेकिन जब कोड की अगली प्रति के साथ जोड़ दिया जाता है तो यह काउंटर को अधिलेखित होने से xx=<value>रोकता है x

  • a,b,*q=q पूरी तरह से सामान्य पायथन 3 अनुक्रम अनपैकिंग है।


+1। दुष्ट चाल। :) क्या मैं इसे अपने उत्तर में अद्यतन कर सकता हूँ?
वेक्टर

ठीक है, मैंने
जेसन एस

मैं वर्तमान में आपके 2 उत्तर पर अचंभित कर रहा हूं। इतने सारे ट्रिक्स इसमें पैक किए।
वेक्टर

2
क्या आप मुझे बता सकते हैं कि दूसरा उत्तर कैसे काम करता है?
सजस

8

अजगर 2 (37)

सारा के स्थानीय मेन्सा अध्याय के अध्यक्ष बनने के बाद, वह एक बुद्धिमान साथी की तलाश में पुरुषों से रोमांटिक ध्यान का केंद्र बन गया। हर तारीख को, सारा एक व्यक्तिगत संबंध बनाने की कोशिश करती, लेकिन पुरुष उसे सिर्फ दार्शनिक सवालों के जवाब देते थे। निराश है कि कोई भी उसके भावनात्मक पक्ष की परवाह नहीं करता है, उसने कहा ...

i=4;print"mniIMeosQy!t"[i::5],;i-=1;i

आउटपुट:

My
My IQ
My IQ is
My IQ is not
My IQ is not me!

एन्ट्रापी H(x)=3.5बिल्कुल है।

इसका श्रेय जेसन एस। को दिया गया, जिनके जवाब का मैंने मूल रूप से थोक इस्तेमाल किया। iiWraparound चाल अद्भुत है।


अच्छा! सही एंट्रोपी के साथ एक छोटा वाक्यांश खोजने के लिए सहारा। मैंने हार मान लिया। यह भी भूल गए कि py2 printउन्हें जोड़ने के बजाय रिक्त स्थान प्रस्तुत करता है
जेसन एस

यह पायथन जवाब के लिए आश्चर्यजनक रूप से छोटा है! बहुत बढ़िया।
isaacg

आप 36 वर्णों को छोड़ने के लिए अपने प्रोग्राम के बीच में मौजूद कॉमा को हटा सकते हैं।
xleviator

8

सी - 65

टिप्पणी का दुरुपयोग :)

char*z="Ah, \0the \0good \0ol' \0times!";
for(printf(z);*z++;);//

इस वजह से, नई लाइनें महत्वपूर्ण हैं और कोड को निम्नानुसार जोड़ा जाना चाहिए:

char *z="Ah, \0the \0good \0ol' \0times!";
for(printf(z);*z++;);//char *z="Ah, \0the \0good \0ol' \0times!";
for(printf(z);*z++;);//...

यह एक अच्छा उपाय है!
MilkyWay90

4

सीजेएम, 24 बाइट्स

"LwOtmiaKoezs"W):W>5%]S*

अगर पांच बार दौड़ते हैं, तो यह मेरे लिए ठीक है । विराम चिह्न शामिल नहीं हैं, क्षमा करें।

यह काम किस प्रकार करता है

"LwOtmiaKoezs"  " Push that string. ";
W):W            " Push W (initially -1), increment and save the result in W. ";
>               " Shift that many characters from the string. ";
5%              " Select every fifth character, starting with the first. ";
]S*             " Wrap the stack in an array and join its strings using spaces. ";

शांत विचार, हालांकि वाक्यांश थोड़े कमजोर है: p
aditsu

मुझे लगता है कि स्वीकार करते हैं, लेकिन यह xxx xxx xx xx xx होना चाहिए , बिना दोहराया पत्र। यही एकमात्र वाक्य है जिससे मैं कम से कम समझदारी बना सकता हूं ...
डेनिस

कैसे "मेरे लिए सूर्य ठीक था"? आप "सूर्य" को दूसरे शब्द या नाम से भी बदल सकते हैं।
aditsu

यह बेहतर है, धन्यवाद।
डेनिस

3

पायथ , ३२

p?kqZ4d@P"It is by a rope."dZ~Z1

वाक्यांश: "यह एक रस्सी द्वारा होता है।"

एन्ट्रापी: 3.5

यह काम किस प्रकार करता है:

p निर्दिष्ट विभाजक के साथ प्रिंट का मतलब है।

पहला तर्क, ?kqZ4dविभाजक देता है। ?kqZ4dका मतलब है k if Z==4 else dkहै '', जबकि dहै ' '

दूसरा तर्क, मुद्रित किया जाने वाला मान, Pअंतरिक्ष ( d) और (उस सूची में @) में विभाजित करके विभाजित किया जाता है Z

अंत में Z, जो स्वचालित रूप से 0 से प्रारंभ होता है, 1 ( ~Z1) द्वारा बढ़ाया जाता है ।


2
मैं एक संदर्भ के बारे में नहीं सोच सकता था, जहां यह चरण स्वाभाविक रूप से ^ ^
त्रुटी

1
@flawr "मैं गेंद कहाँ रहता था?" "यह एक रस्सी द्वारा होता है।"
isaacg

3

गोल्फस्क्रिप्ट, 53

यह एक मजेदार था।

{'1'-print}:puts;.'You; are; not; a; duck.'';'/\,=\1+

वाक्यांश: "आप एक बतख नहीं हैं।" (जो पूरी तरह से सच है; एन्ट्रापी 3.5110854081804286)

स्पष्टीकरण:

स्टैक ''पहले "रन" के रूप में शुरू होगा (चूंकि कोई एसटीडीआईएन प्रदान नहीं किया गया है)। '1's को यह सूचित करने के लिए जोड़ा जाता है कि कोड को कितनी बार चिपकाया गया है।

{'1'-print}:puts;             # Hacky stuff (see below)
.                             # Stack: '' ''
'You; are; not; a; duck.'';'/ # Initialize the array of words
\,                            # Get the length of the string of '1's (0)
                              # Stack: '' [words] 0
=                             # Stack: '' 'You'
\1+                           # Stack: 'You' '1'

अब दूसरे रन पर क्या होता है:

{'1'-print}:puts;             # Hacky stuff (see below)
.                             # Stack: 'You' '1' '1'
'You; are; not; a; duck.'';'/ # Initialize the array of words
\,                            # Get the length of the string of '1's (1)
                              # Stack: 'You' '1' [words] 1
=                             # Stack: 'You' '1' ' are'
\1+                           # Stack: 'You' ' are' '11'

और इसी तरह।

"लेकिन," आप सोच रहे हैं, "आपको आउटपुट न करने के लिए 1s कैसे मिलता है?" आह, यह मजेदार हैकी हिस्सा है। गोल्फस्क्रिप्ट लागू puts(जो कार्यक्रम समाप्त होने पर कहा जाता है) इस प्रकार है:

{print n print}:puts;

मैंने बस इसे बदल दिया है

{'1'-print}:puts;

ताकि 1s अंतिम आउटपुट से दब जाएं।


3

जे - ४२ चार

मैं एक छोटे वाक्यांश के लिए जा सकता था, लेकिन क्यों? यह मेरा पसंदीदा नहीं होगा।

(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '

यह जे के मोनड / डियाड द्वैत के कारण काम करता है: प्रत्येक क्रिया को एक मोनड के रूप में लागू किया जा सकता है - एक तर्क के साथ इसके दाईं ओर - या एक डायड के रूप में - बाईं तरफ एक तर्क के साथ और दूसरे पर दाईं ओर।

J REPL के साथ निम्नलिखित सत्र पर विचार करें:

   'You multiplied 6 by 9. '
You multiplied 6 by 9.
   'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '
You multiplied 6 by 9. You multiplied 6 by 9.
   ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '   NB. break into words
+---+----------+-+--+--+---+----------+-+--+--+
|You|multiplied|6|by|9.|You|multiplied|6|by|9.|
+---+----------+-+--+--+---+----------+-+--+--+
   (#\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '             NB. count off
1 2 3 4 5 6 7 8 9 10
   (6 | #\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '         NB. mod 6
1 2 3 4 5 0 1 2 3 4
   (1 = 6 | #\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '
1 0 0 0 0 0 1 0 0 0
   (#~ 1 = 6 | #\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '  NB. select
+---+----------+
|You|multiplied|
+---+----------+
   (#~ 1 = 6 | #\)&.;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. ' NB. undo ;:
You multiplied

वहां, ,एक डाईड के रूप में माना जाता है, क्योंकि यह दो तर्कों के बीच है, और (#~1=6|#\)&.;:एक सनक है क्योंकि इसमें कोई तर्क नहीं है। इसलिए अगर हमारे पास एक क्रिया थी जो ,कब रंगादिक की तरह काम कर सकती है और (#~1=6|#\)&.;:जब राक्षसी, हम सेट हो जाएंगे।

जैसा कि आप पहले ही अनुमान लगा चुके हैं, इस तरह का एक संयोजन मौजूद है और ऐसा दिखता है :। मोनाडिक f :gके बराबर है f, और यह डायडिक के बराबर है g। इससे समस्या हल हो जाती है।

उदाहरण, जिन्हें आप अपने लिए tryj.tk पर आज़मा सकते हैं :

   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied 6
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied 6 by
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied 6 by 9.

और हां, इसके उलटा की प्रकृति ;:इसे बनाती है ताकि कोई अनुगामी स्थान न हो।

It is by a rope.वाक्यांश के रूप में उपयोग करने से 35 वर्ण मिलते हैं (#~1=6|#\)&.;: :,'It is by a rope.':। हमें अपनी जगह के लिए अनुगामी स्थान की आवश्यकता नहीं है, जैसे कि मैं अपने वाक्य के लिए करता हूं, ;:-बेड कारणों से।


3

बीबीसी बेसिक, 40

जिसमें एक न्यूलाइन शामिल है। यदि ASCII के बजाय कीवर्ड को टोकन माना जा सकता है तो 30 होगा।

मैंने अपनी प्रेमिका को दूध वाले के साथ सोते हुए पकड़ा, इसलिए मैंने उसे डस लिया और मैं अपनी बहन के साथ बदला लेने के लिए सो रहा हूं। As my ex do I!(अद्वितीय अक्षरों के साथ पांच दो अक्षर "शब्द" पर्याप्त एन्ट्रापी नहीं था, इसलिए मैंने एन्ट्रापी को वास्तव में 3.5 बनाने के लिए अंत में जीभ-बाहर स्माइली जोड़ी। आखिरकार, वास्तव में मेरे पास काफी सामान्य जीवन है, न कि कुछ अजीब साबुन ओपेरा की साजिश।

  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P

5 बार मिलने वाले कार्यक्रम को दोहराते हुए

  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P

केवल 5 READकथनों को निष्पादित किया जाता है, और पहले DATAबयान से डेटा के पहले 5 आइटम पढ़े जाते हैं । बाकी डेटा बेमानी है। आउटपुट:

  (once)
  As 
  (5 times)
  As my ex do I:-P 

2

रूबी, 50

puts'The fat pig can fly.'[0..File.size($0)/12-1]#

यह निर्धारित करने के लिए कि कितने शब्द प्रिंट करने के लिए अपनी लंबाई का उपयोग करता है। इसके दोहराव को अन्यथा टिप्पणी चरित्र में समाप्त करके अनदेखा कर दिया जाता है #बिटवॉर्नर से उधार लिया गया वाक्यांश : प्रत्येक शब्द में समान अक्षरों के साथ एक छोटा वाक्यांश होना बहुत सुविधाजनक है।

चूंकि प्रत्येक शब्द + अंत 4 वर्ण है, सूत्र 56-लंबाई कार्यक्रम के लिए होगा, जैसे:, (File.size($0)/56)*4 - 1लेकिन मैं समय से पहले विभाजित कर सकता हूं 56/4 = 14, इसलिए File.size($0)/14 - 1, कुछ वर्णों को सहेजना। 50एक से अधिक नहीं है 4, लेकिन 12आवश्यक सीमा के लिए पर्याप्त है।


2

चिप , 165 + 3 = 168 बाइट्स

झंडे के लिए +3 -w

| ,z `Z`Z  `Z
| |ZZZ>Z>ZZZ>ZZZZ
>((((((((((((((((
|)-)))-)-)))-))))g
|)d)xx-x-)xx-))x)e
||b+))-x-x))-x)xc
|`v))xa(-x(x-((^d
|*`.))d| b | b
|Z~<b( |~Zf|
>~T| | |   |

"मैंने एक लाल सूट जीता" (3.5) (मैंने वास्तव में ऐसी कोई भी चीज़ नहीं जीती है) (... अभी तक)

अनुगामी न्यूलाइन पर ध्यान दें, इसलिए समाप्‍त प्रति मौजूदा कोड के नीचे दिखाई देती है।

इसे ऑनलाइन आज़माएं! (मूल)
ऑनलाइन यह कोशिश करो! (मूल, सभी चार प्रतियां)

यह थोड़ा गड़बड़ है। यह पता चला है कि मुश्किल बिट समाप्ति की स्थिति थी। (मेरी पहली पुनरावृत्ति ने शब्द मुद्रित किया, उसके बाद अशक्त बाइट्स की एक अंतहीन धारा ...)।

यह काम किस प्रकार करता है

पहला वाक्यांश:
12 अद्वितीय वर्ण + 4 रिक्त स्थान = ठीक 3.5 प्रविष्टियाँ।

और कोड:
प्रत्येक कॉपी पहले शब्द को प्रिंट करता है, फिर अगले शब्द को प्रिंट करने के लिए नीचे की कॉपी बताता है। यदि केवल एक उदाहरण है, तो दूसरी प्रति नहीं है, इसलिए पहले शब्द को छोड़कर कुछ भी मुद्रित नहीं है।

यदि दो प्रतियां हैं, तो दोनों पहले शब्द एक साथ प्रिंट करेंगे (बाइट्स एक साथ होंगे इसलिए यह ठीक है), फिर केवल दूसरी कॉपी दूसरे शब्द को प्रिंट करेगी।

यदि सभी पांच प्रतियां मौजूद हैं, तो सभी पहले शब्द, आदि, और पांचवीं प्रति प्रिंट करेंगे, और अंतिम शब्द स्वयं द्वारा मुद्रित होगा।

जैसे ही सभी प्रतियां सक्रिय रूप से मुद्रण नहीं कर रही हैं, समाप्ति सर्किट कार्यक्रम को समाप्त कर देगा।



1

पर्ल, ३,

print qw(My IQ is not me!)[$i++].' ';

जो कुछ भी समरूप था, उसके समान है, लेकिन कुछ और पात्रों को बचाने के लिए पर्ल की क्व का लाभ उठाया।


1

रेम्बु संदेश की लंबाई + 27

क्या हम "मेरा आईक्यू मैं नहीं हूँ!" यह 43 होगा। लेकिन मैं इस संदेश का समर्थन करता हूं:

uV?'s[S[{The}{rebellion}{against}{software}{complexity.}]]proTKsPROsp

समतुल्य प्रतिबल / लाल:

unless value? 's [
    s: [{The}{rebellion}{against}{software}{complexity.}]
]

print/only take s
print/only space

Rebol में 3 मूल स्थितियाँ हैं: IF, EITHER, और UNLESS। UNLESS IF NOT के बराबर है लेकिन अधिक स्पष्ट हो सकता है: "हमेशा निम्न UNLESS करें यह स्थिति सत्य होती है।"

इस स्थिति में शर्त यह है कि हम यह देखना चाहते हैं कि क्या प्रतीक एस को वर्तमान संदर्भ में एक मूल्य दिया गया है। हमें इस पर एक उद्धरण का उपयोग करना होगा, क्योंकि सशर्त अभिव्यक्ति में एक निर्विरोध एस का उपयोग करने का प्रयास इसका मूल्यांकन करेगा और संभवतः एक त्रुटि उठाएगा। ( value?डिफ़ॉल्ट रूप से अपने पैरामीटर बोली नहीं है क्योंकि आप जो प्रतीक आप एक चर में हो जाँच कर रहे हैं के लिए चाहते हो सकता है, उदाहरण के लिए sym: 'sतो if value? sym [...]वास्तव में जाँच करेगा अगर एस परिभाषित किया गया था, नहीं प्रतीक)

केवल कार्यक्रम का पहला पेस्ट एस को स्ट्रिंग्स की श्रृंखला सौंपेगा। क्रमिक पेस्ट्स श्रृंखला के प्रमुख से एक स्ट्रिंग लेगा और इसे PRINT / ON से पास करेगा जो लाइन फीड को जोड़े बिना अपने तर्क को प्रिंट करेगा।

(नोट: PRINT / ON केवल PRIN कहने का एक सुझाया गया प्रतिस्थापन तरीका है, जिसे Rebol 3 और Red में माना जा रहा है। एक प्रिंट प्रतिस्थापन का अब Rebmu में परीक्षण किया जा रहा है।)


1

एएचके , 44 बाइट्स

i++
Send % SubStr("He is an OK ex",i*3-2,3)

आखिर में न्यूलाइन नोट करें। यहाँ केवल चतुर बात यह है कि स्ट्रिंग सभी 3-अक्षर शब्द है इसलिए हमें कुछ भी विभाजित करने की आवश्यकता नहीं है। इसके बजाय, हम सिर्फ एक विकल्प के आधार पर खींचते हैं i। आउटपुट सक्रिय स्क्रीन पर है जैसे कि यह कीबोर्ड पर टाइप किया गया था।


0

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

मैंने टेक्स्ट को एडिट्स से लिया क्योंकि मैं टेक्स्ट के साथ कुछ भी फैंसी नहीं कर रहा हूं, ताकि चुने गए शब्द समाधान के लिए कुछ अप्रासंगिक हों (बाइट काउंट को छोड़कर)।

var i=i|0;alert("He 0is 0but 0a 0dog".split(0)[i++]);

क्या alertइस मामले में गिनती होती है? संपादित करें: नियमों को पढ़ना संभवतः ऐसा नहीं है क्योंकि मैं रिक्त स्थान के साथ तार में शामिल नहीं हो रहा हूं। मैं इसे उचित बनाने के लिए रिक्त स्थान जोड़ूंगा।

यह भी ध्यान दें कि महंगा varवास्तव में इस मामले में प्रासंगिक है।


क्या कोई समझा सकता है कि var i|=0;यहाँ काम क्यों नहीं करता है ???
10

@flawr आप के |=साथ या समान नहीं कर सकते var। बिना var, आपको ए ReferenceError: i is not definedvar i=i|0करने के लिए फैलता है var i=undefined|0, और undefined|0जाहिर है 0
nyuszika7h

यह फहराने के कारण काम करता है। var i=i|0के बराबर है var i;i=i|0। इसलिए आपको संदर्भ त्रुटि नहीं मिलती है। पहली बार यह सेट किया जाएगा कारण यह है कि @ nyuszika7h ने क्या कहा।
इंगो बुर्क

1
लेकिन यह शब्दों को अलग से सचेत करेगा।
गर्वित हैकेलर

0

पर्ल, 43 56

print substr'Mine was not Red 5!',4*$i++,4;

मैं स्वीकार करता हूं कि मैं इसे नहीं जीत सकता। मेरा मूल प्रयास बताता है कि:

@a=('This',' code',' is',' too',' long.');print$a[$i++];

0

लुआ, 77

एक बहुत ही सरल उपाय:

i=(i or 0)+1;io.write((i==1 and""or" ")..("Thebigfoxwasup."):sub(3*i-2,3*i))

(एच (एक्स) = 4.23)


0

जावास्क्रिप्ट, 138

g=this;clearTimeout(g.t);g.i|=0;i++;g.t=setTimeout(
    function(){console.log(["I'll","sleep","when","I'm","dead."].slice(0,i).join(' '))},0);

(अतिरिक्त पठनीयता केवल पठनीयता के लिए जोड़ी गई है)

प्रिंट करता है I'll sleep when I'm dead। यह सुनिश्चित करने के लिए टाइमर का उपयोग करता है कि आउटपुट केवल एक बार प्रिंट किया गया है


0

शुद्ध बैश, 51 बाइट्स

a=(All you need is Love!)
printf "${i:+ }${a[i++]}"

एच (एक्स) = 3.59447

यह छोटे वाक्यांशों में से एक को जहर देकर थोड़ा और नीचे गिराया जा सकता है, लेकिन मैं डेसकार्टेस के लेनन के सबसे प्रसिद्ध उद्धरण के साथ चिपककर खुश हूं । (क्षमा करें @Desartes, लेकिन सभी शब्दों को विशिष्ट होना चाहिए)।

आउटपुट:

$ ./phrase.sh 
All$ cat phrase.sh phrase.sh phrase.sh > phrase3.sh
$ chmod +x phrase3.sh 
$ ./phrase3.sh 
All you need$ 
$ cat phrase.sh phrase.sh phrase.sh phrase.sh phrase.sh > phrase.sh
$ chmod +x phrase5.sh 
$ ./phrase5.sh 
All you need is Love!$ 

शब्दों के बीच रिक्त स्थान डालने का ध्यान रखता है, लेकिन कोई अग्रणी या अनुगामी स्थान नहीं।

इस तथ्य पर निर्भर करता है कि बैश, अपरिभाषित चर में, जब स्ट्रिंग्स के रूप में विस्तारित होने का मूल्य "" होता है, लेकिन जब विस्तार से अंकगणित का मान 0 होता है।


अद्वितीय होने के लिए 5 शब्दों की आवश्यकता होती है ...
ट्राइकोप्लाक्स

चूंकि आपका कोड किसी भी 5 शब्द वाक्यांश से निपटने के लिए पर्याप्त रूप से बहुमुखी लगता है, मुझे यकीन है कि आप एक के बारे में सोच सकते हैं जिसमें 3.5 की आवश्यक एन्ट्रापी है (इस एक में कई दोहरे अक्षर ...)।
ट्राइकोप्लाक्स

@githubphagocyte मैं उम्मीद कर रहा था कि आप मुझे गोलाई का लाभ देंगे ;-) ठीक है, मैंने इसे !अभी एक अतिरिक्त के साथ तय कर लिया है - लगता है कि यह ट्रिक है।
डिजिटल ट्रॉमा

0

PHP 89 78 char

इसकी एक छोटी सी क्रिया, और सबसे निश्चित रूप से जीत नहीं होगी, लेकिन यह वैसे भी मजेदार था। यहाँ मैं क्या लेकर आया हूँ

मुहावरा:

code golf is pretty fun

एन्ट्रॉपी = 3.82791

कोड:

<?
$i=(isset($i)?$i+1:0);
$w=["code","golf","is","really","fun"];
echo $w[$i].";

golfed:

<?$i=(isset($i)?$i+1:0);$w=["code","golf","is","really","fun"];echo $w[$i].

0

पायथन 3 - 122 बाइट्स

पॉड बे दरवाजे खोलें [HAL]

मुझे लगता है कि मैं इस एक के साथ कुछ बेवकूफ क्रेडिट अर्जित करूंगा। यदि केवल प्रश्न एक और शब्द की अनुमति देगा ...

मेरा कार्यक्रम क्या करता है फ़ाइल नाम लेता है (p.py is the base) और जाँचता है कि आधार नाम कितनी बार iterated है। यह कड़े nसमय से स्लाइस लेता है । फ़ाइल नाम में s nकी संख्या होना p

import sys,re
for i in range(len(re.findall(re.compile('p'),sys.argv[0]))):print('Otpbdphoaoeedyon   r    s'[i::5],end='')

~ $ python p.py
Open

~ $ python pp.py
Open the

~ $ python ppp.py
Open the pod

~ $ python pppp.py
Open the pod bay

~ $ python ppppp.py
Open the pod bay doors

रेगेक्स का लाभ यह है कि प्रोग्राम को आप जो भी पसंद करते हैं उसे कॉल किया जा सकता है और यह अभी भी काम करेगा (बशर्ते कि आप कोड में बेसनेम बदल दें): मेरे मूल प्रोग्राम को golfed.py कहा जाता था।


0

05AB1E , 21 बाइट्स ( नॉनकमेटिंग )

“€Œ‰‹€‡Øš‹É.“ª#¾è¼?ð?

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

उपयोग:

This works for literally anything. 
H(x) = 4.02086

व्याख्या

“€Œ‰‹€‡Øš‹É.“ª#¾è¼?ð?
“€Œ‰‹€‡Øš‹É.“ª        # Pushes "This works for literally anything."
              #       # Split on spaces
               ¾è     # get element at index of counter_variable (default 0)
                 ¼    # Increment the counter_variable
                  ?   # Print the selected element
                   ð? # Prints a space

इस नहीं देखा, साथ ही पास तैनात “€í€Ü€…‚¿‹·“hehe
जादू ऑक्टोपस कलश


0

स्माइलबासिक, 54 बाइट्स

DATA"Does"," anybody"," have"," a"," key?
READ W$?W$;

मैंने पसंद किया होगा "रेत खाया जा सकता है।" लेकिन जो किसी भी तरह से एंट्रॉपी टेस्ट में फेल हो जाता है। बेशक मैं एक छोटा वाक्यांश उठा सकता था लेकिन यह उबाऊ है।

READकीवर्ड से कोई मूल्य पढ़ता है DATAएक चर में है और यह भंडार। READफिर से उपयोग करने से अगला आइटम मिल जाएगा, और इसी तरह।


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