प्रोग्रामिंग पजल से लेकर कोड गोल्फ तक


74

आपका कार्य एक ऐसा प्रोग्राम लिखना है जो सटीक स्ट्रिंग Programming Puzzles(न्यूलाइन वैकल्पिक को पीछे छोड़ता है) को आउटपुट करता है , लेकिन जब सभी स्पेस, टैब और न्यूलाइन को हटा दिया जाता है तो यह आउटपुट Code Golf(न्यूलाइन वैकल्पिक को पीछे छोड़ता है।)

आपकी बाइट गिनती पहले कार्यक्रम की गिनती है, जिसमें अभी भी रिक्त स्थान हैं।

टिप्पणियाँ

  • में रिक्त स्थान Code Golf और Programming Puzzles हटाने के हिस्से के रूप में निकाल दिया जाएगा, तो उसके अनुसार योजना।

  • एन्कोडिंग्स में जहां 0x09, 0x0A और 0x20 क्रमशः टैब, नईलाइन या रिक्त स्थान नहीं हैं, उन चार्ट को हटा दिया जाएगा।

  • अगर आपका कोड है

    42  $@ rw$
    @42
    

    उसके बाद आउटपुट होना चाहिए Programming Puzzles। साथ ही, उसी भाषा में,

    42$@rw$@42
    

    उत्पादन करना चाहिए Code Golf

यह , इसलिए बाइट्स में सबसे छोटा कोड जीतता है! सौभाग्य!


3
क्या अंतरिक्ष को Code Golfभी हटाया जा सकता है, इसमें क्या होगा Programming Puzzles
Colsw

2
यह कम से कम व्हर्ल और व्हाट्सएप में असंभव होगा ।
इंजीनियर टोस्ट

13
करीबी वोट किसके लिए हैं?
OldBunny2800

12
@ OldBunny2800 अच्छा सवाल। मैं पूछ रहा हूँ कि लेकिन टिप्पणी हटा दी जाती है ...
प्रोग्रामर

12
करीबी वोट इनपुट और आउटपुट की कमी और इनपुट और आउटपुट के प्रारूपण पर प्रतिबंध हैं। यदि आपको लगता है कि आपके पास 0 वोटों को चुनौती देने के बारे में स्पष्ट था, तो बुलेट-पॉइंट वाली चीजों के साथ "नियमों" को लेबल करने वाला एक भाग यदि आपके पास "नियम" है तो 100%। यह सब CompSci लोगों के साथ प्रस्तुति के बारे में है, अगर हम यह कहने के लिए एक उचित मूर्खतापूर्ण प्रश्न के बारे में सोच सकते हैं कि हमें एक बाइट बचा सकता है या, हम, उस मूर्खता का मुकाबला करने की कोशिश करेंगे और आप एक महान प्रश्न लेखक होंगे।
मैजिक ऑक्टोपस Urn

जवाबों:


65

अजगर 2 , 50 बाइट्स

print["Code\40Golf","Programming Puzzles"][" ">""]

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

हटाए गए सभी स्थानों के साथ:

print["Code\40Golf","ProgrammingPuzzles"]["">""]

ऑनलाइन कोशिश करो!

3 बाइट्स के लिए स्टीफन एस के लिए धन्यवाद, और 1 के लिए आउटगोल्फ को एरिक करें


2
डार, निंजा! मैं पोस्ट उत्तर पर क्लिक करने वाला था! +1
हाइपरनेत्रिनो

1
मुझे लगता है कि आपने सिर्फ मेरे दोस्त का दिमाग तोड़ा है। यह भी कैसे काम करता है?
15 नवंबर को Stevoisiak

11
@StevenVascellaro यह वास्तव में सरल है। पहले मामले में, " ">""रिटर्न Trueके बाद से, शाब्दिक रूप से, एक जगह खाली स्ट्रिंग से अधिक है। दूसरे मामले में, "">""रिटर्न False, क्योंकि कुछ भी खुद से बड़ा नहीं हो सकता है। Trueऔर Falseवास्तव में सिर्फ 1और 0क्रमशः, केवल boolडेटाटाइप में intया इसके बजाय हैं long। पहले मामले में, रिक्त स्थान को संरक्षित किया जाता है, इसलिए, सूचकांक 1 पर आइटम को "Programming Puzzles"शब्दशः लौटा दिया जाता है। दूसरे मामले में, रिक्त स्थान चले गए हैं, इसलिए किसी स्थान को संरक्षित करने के लिए \x20इंडेक्स 0 पर आइटम में "Code\x20Golf"
आउटगोल्फर

9
@StephenS नहीं, क्योंकि जावास्क्रिप्ट के विपरीत, पायथन में निहित कास्टिंग का जुनून नहीं है।
मेगो

1
अगर पायथन में जुनून की कमी को खोजा जाए।
जॉन ड्वोरक

50

पायथन 2 , 48 47 बाइट्स

-1 बाइट थैंक्स टू एरिक द आउटगोलर

print' 'and'Programming Puzzles'or'Code\40Golf'

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

print''and'ProgrammingPuzzles'or'Code\40Golf'

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


9
Aww, मैं इस बारे में अपने उत्तर को बेहतर बनाने के लिए बस ...
Mego

22

05AB1E , 15 बाइट्स

”ƒËŠˆ”" "v”–±ÇÀ

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

व्याख्या

”ƒËŠˆ”           # push "Code Golf"
      " "v       # for each character in the string " " do
          ”–±ÇÀ  # push "Programming Puzzles"
                 # implicitly output top of stack

...मुझे यह बिलकुल समझ में नहीं आया। क्या यह शब्दकोश संपीड़न या कुछ और का उपयोग करता है?
लीजनमोनमल 978

@ LegionMammal978 मुझे पूरा यकीन है कि यह करता है।
NoOneIsHere

@ LegionMammal978: यह वास्तव में शब्दकोश संपीड़न का उपयोग करता है।
एमिग्ना

5
@ एमिग्ना ठीक है, क्योंकि पिछली बार मैंने जाँच की थी, न तो उन तारों में से 4 बाइट्स में फिट हो सकते थे: पी
लीजनमैमल 978

1
@ Draco18s: केविन ने टिप्स पेज पर एक अच्छा ट्यूटोरियल लिखा है, जिसका उपयोग करके आप इसका उपयोग करने के बारे में बेहतर विचार प्राप्त कर सकते हैं।
एमिग्ना


16

CJam , 38 बाइट्स

" ""Programming Puzzles""Dpef!Hpmg":(?

इसे ऑनलाइन आज़माएं! या रिक्त स्थान के साथ

व्याख्या

" "                    e# Push this string.
"Programming Puzzles"  e# Push "Programming Puzzles".
"Dpef!Hpmg":(          e# Push "Dpef!Hpmg" and decrement each char, giving "Code Golf".
?                      e# If the first string is true (non-empty) return the second string,
                       e#   else return the third.

कार्यक्रम में रिक्त स्थान हैं या नहीं यह निर्धारित करता है कि क्या पहला तार सत्य है या मिथ्या है।


27
आपका कोड दुखद है:(
रोमन ग्रैफ

14
यदि आप unprintables का उपयोग करने के लिए तैयार हैं, "Bncd\x19Fnke":)तो इसके बजाय खुश कोड है \x19
एर्ग आउटफोलर

15

जेली , 18 बाइट्स

“½ċṭ6Ỵ»ḷ
“Ñ1ɦ+£)G»

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

व्याख्या

लिखित रूप में कार्यक्रम में, पहली पंक्ति एक सहायक फ़ंक्शन है जो कभी नहीं चलती है। दूसरी पंक्ति (कार्यक्रम में अंतिम) मुख्य कार्यक्रम है, और स्ट्रिंग का संकुचित प्रतिनिधित्व है "Programming Puzzles"(जो तब अंतर्निहित रूप से मुद्रित होता है)।

यदि आप न्यूलाइन को हटाते हैं, तो पूरी चीज एक बड़े प्रोग्राम बन जाती है। “½ċṭ6Ỵ»स्ट्रिंग का संकुचित प्रतिनिधित्व है "Code Golf"मूल्यांकन करता है लेकिन अपने दाहिने हाथ के तर्क को नजरअंदाज करता है, इससे पहले कि वह चलता है, उसी मूल्य को छोड़कर; इसका उपयोग उनके दुष्प्रभावों के लिए कार्यों का मूल्यांकन करने के लिए किया जा सकता है (अब से पहले जो कुछ मैंने किया है), लेकिन इसका उपयोग यहां भी किया जा सकता है, कोड को प्रभावी ढंग से टिप्पणी करने के लिए।

दिलचस्प बात यह है कि यहां वास्तविक तर्क 05AB1E प्रविष्टि से कम है, लेकिन एक पूरे के रूप में कोड लंबे समय तक बाहर आता है क्योंकि स्ट्रिंग कंप्रेसर इन विशेष तारों को संपीड़ित करने में कम अच्छा है।


यह मान्य है।
आउटगोल्फ

मेरे ज्ञान के लिए उन पात्रों में से कुछ को एक बाइट का उपयोग करके बचाया जा सकता है, अच्छी तरह से ज्ञात एन्कोडिंग मानते हैं। UTF-8 में मुझे 36 बाइट्स मिलती हैं ... क्या मैं गलत हूं?
स्टीफन

@ ऑस्टेफ़ेन: जेली अपने स्वयं के चरित्र एन्कोडिंग का उपयोग करता है , जिसमें सभी 256 अलग-अलग वर्णों का उपयोग करता है जिसे एक ही बाइट में संग्रहीत किया जा सकता है। (पूर्व-मौजूदा एन्कोडिंग का उपयोग करने के बजाय केवल यही कारण है कि यह पठनीयता के लिए है (!); आप तुच्छ रूप से प्रोग्राम को एन्कोडेड लिख सकते हैं, कह सकते हैं, कोडपेज 437, और यह जेली दुभाषिया में चलेगा, लेकिन यह आमतौर पर होगा पढ़ने के लिए बहुत कठिन है।)

13

जेली , 17 बाइट्स

“Ñ1ɦ+£)G“½ċṭ6 Ỵ»Ṃ

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

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

अन्य जेली जवाब में, Ñ1ɦ+£)Gऔर ½ċṭ6Ỵस्ट्रिंग्स प्रोग्रामिंग पहेलियाँ और कोड गोल्फ सांकेतिक शब्दों में बदलना । एक स्ट्रिंग शाब्दिक शुरू होता है और एक स्ट्रिंग रूप को अलग »करता है , जबकि शाब्दिक (शब्दकोश-आधारित संपीड़न) का चयन करता है, इसलिए यह पैदावार देता है

["Programming Puzzles", "Code Golf"]

फिर न्यूनतम, उपज कोड गोल्फ लेता है ।

हालाँकि, ½ċṭ6और , के बीच एक स्थान जोड़ने से , हमें एक पूरी तरह से दूसरी स्ट्रिंग मिलती है, और शाब्दिक मूल्यांकन होता है

["Programming Puzzles", "caird coinheringaahing"]

चूँकि caird coinheringaahing प्रोग्रामिंग पहेलियाँ की तुलना में लेक्सिकोग्राफिक रूप से बड़ा है , इसलिए इसके बजाय पहले स्ट्रिंग का चयन करता है।


ठीक उसी के साथ“½ċṭ6Ỵ“Ñ1ɦ +£)G»Ṁ
जोनाथन एलन

मेरे ज्ञान के लिए उन पात्रों में से किसी को भी एक बाइट का उपयोग करके बचाया नहीं जा सकता है, अच्छी तरह से ज्ञात एन्कोडिंग मानते हुए। UTF-8 में मुझे 34 बाइट्स मिलते हैं ... क्या मैं गलत हूं?
स्टीफन

@steffen जेली एक कस्टम कोड पेज का उपयोग करता है, जो एक ही बाइट के रूप में समझने वाले प्रत्येक 256 वर्णों को एन्कोड करता है।
डेनिस

@ डेनिस स्पष्ट करने के लिए धन्यवाद।
स्टीफन

13

जावास्क्रिप्ट, 46 43 42 बाइट्स

x=>" "?"Programming Puzzles":"Code\40Golf"

console.log((x=>" "?"Programming Puzzles":"Code\40Golf")())
console.log((x=>""?"ProgrammingPuzzles":"Code\40Golf")())


5
आप \x20पहले स्ट्रिंग को एक स्थान से बदल सकते हैं।
झबरा

मुझे मारो, अच्छी तरह से किया। क्या इसके लिए अनुगामी की आवश्यकता है ;?
ऋक्दिशी

@ricdesi नहीं, यह नहीं है।

3
@ricdesi चूंकि यह कोडगॉल्फ है, अगर प्रोग्राम चलता है, तो यह काम करता है। ;जावास्क्रिप्ट में कभी-कभी आवश्यक नहीं होते हैं।
स्टीफन

2
आप बदल सकते हैं \x20के साथ \40एक बाइट :-) बचाने के लिए
ETHproductions

10

वोल्फ्राम भाषा, 62 बाइट्स

"Programming Puzzles"[ToExpression@"\"Code\\.20Golf\""][[0 1]]

अंतरिक्ष में [[0 1]]निहित गुणन है, इसलिए यह इसके बराबर है [[0]]। अंतरिक्ष के बिना, 01बस है 1। इस अभिव्यक्ति के 0 वें और 1 भाग हम चाहते हैं कि तार हैं।

संदिग्ध वैधता का एक और समाधान (केली लोडर द्वारा 44 बाइट्स, 2 बचाए गए):

"Programming Puzzles"["Code\.20Golf"][[0 1]]

\.20एक अंतरिक्ष द्वारा बदल दिया जाता है तुरंत जब एक मेथेमेटिका वातावरण में टाइप, तो यह स्पष्ट नहीं है कि यह अन्य स्थानों के साथ हटा दिया जाता है नहीं है ...


1
जैसे ही आप इसे (या टाइप) Mathematica में पेस्ट करते हैं, (क्लाउड आधारित या नहीं) एस्केप सीक्वेंस, \:0020एक स्पेस में बदल जाता है, और इस तरह इसे हटा दिया जाएगा, इसलिए मुझे यकीन नहीं है कि यह क्वालिफाई होगा। यह \.20भी छोटा है। दो अक्षर हैं। "Programming Puzzles"["Code"<>FromCharacterCode@32<>"Golf"][[01]]काम करेगा।
केली लोडर

1
@ केलीलॉडर, हम्म, यह एक अच्छा बिंदु है। मैंने एक और समाधान जोड़ा है जो उस मुद्दे से बचना चाहिए। ( \.20सुझाव के लिए धन्यवाद - आपको यह कैसे लगा? मुझे लगा कि मैं पूरे दस्तावेज को देखूंगा ...)
पेड़ नहीं

1
मैंने \.20टाइपो बनाकर पाया । केवल दो अंकों के वर्ण कोड के लिए काम करता है। मुझे नहीं लगता कि यह प्रलेखन में है।
केली लोडर

8

एक्सेल - 56 बाइट्स

=IF(""=" ","Code"&CHAR(32)&"Golf","Programming Puzzles")

अन्य उत्तर के अधिकांश के समान ... यहाँ कुछ भी नहीं फैंसी।


8

हास्केल, 48 बाइट्स

a _="Programming Puzzles";a4="Code\32Golf";f=a 4
a_="ProgrammingPuzzles";a4="Code\32Golf";f=a4

फ़ंक्शन को परिभाषित करता है fजो संबंधित स्ट्रिंग लौटाता है।

संदर्भ के लिए, पुराना संस्करण है:

हास्केल, 49/47 बाइट्स

f""="Code\32Golf";f(_)="Programming Puzzles";f" "

रिक्त स्थान के साथ

f""="Code\32Golf";f(_)="ProgrammingPuzzles";f""

दो सरल पैटर्न मैच। (_)सभी पैटर्न से मेल खाता है। आप दूसरे पैटर्न को f" "=/ के रूप में परिभाषित करके एक-एक बाइट के बिना रिक्त स्थान के संस्करण में सुधार कर सकते हैं f""=, लेकिन यह "पैटर्न मैच बेमानी है" चेतावनी देता है।

एक ही बाइट गिनती के साथ वैकल्पिक समाधान:

last$"Code\32Golf":["Programming Puzzles"|" ">""]
last$"Code\32Golf":["ProgrammingPuzzles"|"">""]

7

ओम , 33 32 बाइट्स

CP437 एन्कोडिंग का उपयोग करता है।

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀
▀4>~H├MS░l╬δ

इसे ऑनलाइन आज़माएं! या व्हॉट्सएप के बिना प्रयास करें

व्याख्या

व्हॉट्सएप के साथ:

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Push "Programming Puzzles" (compressed string)
                       Implicitly output the top stack element


▀4>~H├MS░l╬δ           Helper wire (never called)

बिना व्हाट्सएप के:

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀▀4>~H├MS░l╬δ    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀                Push "Programming Puzzles" (compressed string)
                   ▀4>~H├MS░l╬δ    Push "Code Golf" (compressed string)
                                   Implicitly output top stack element

मुझे बहुत खुशी है कि मैंने आखिरकार स्ट्रिंग संपीड़न समाप्त कर दिया है!
निक क्लिफर्ड

1
@NickClifford मैंने जिस उत्सुक चीज़ पर ध्यान दिया, वह Code Golfसंकुचित होने पर अधिक लम्बी थी । मुझे लगता है कि राजधानियों के कारण? किसी भी तरह से यह अभी भी सामान्य रूप से लिखने से छोटा है क्योंकि मैं यहां शाब्दिक स्थान का उपयोग नहीं कर सकता।
बिजनेस कैट

हाँ, Smaz अजीब तरह का है।
निक क्लिफर्ड

FYI करें, चैट में मुझे पिंग करने के लिए स्वतंत्र महसूस करें यदि आपके पास ओम के लिए कोई प्रश्न या सुविधा का अनुरोध है।
निक क्लिफर्ड

7

जाप , 29 बाइट्स

रिक्त स्थान के साथ:

`Co¸{S}Golf`r `PžgŸmÚÁ Puzz¤s

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

जगह के बिना:

`Co¸{S}Golf`r`PžgŸmÚÁPuzz¤s

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


यह इस तथ्य का लाभ उठाता है कि जाप में, एक अंतरिक्ष एक विधि कॉल को बंद कर देता है। रिक्त स्थान के साथ, कोड लगभग इस जावास्क्रिप्ट कोड के बराबर है:

("Code"+(S)+"Golf").r(),"Programming Puzzles"

इसका मूल्यांकन जावास्क्रिप्ट के रूप में किया जाता है, और परिणाम STDOUT को भेजा जाता है। चूंकि अंतिम अभिव्यक्ति है "Programming Puzzles", वह स्ट्रिंग मुद्रित है।

रिक्त स्थान के बिना, कोड लगभग बराबर है:

("Code"+(S)+"Golf").r("ProgrammingPuzzles")

(यदि आपने अब तक इसका पता नहीं लगाया है, तो Sचर एकल स्थान है।) .r()एक स्ट्रिंग पर विधि, यदि एक तर्क दिया जाता है, तो स्ट्रिंग से उस तर्क के सभी उदाहरणों को हटा दिया जाता है। चूंकि "Code Golf"इसमें सम्‍मिलित नहीं है "ProgrammingPuzzles", यह "Code Golf"अपरिवर्तित है, जिसे बाद में STDOUT में भेजा जाता है।


मैं भी जगह का उपयोग करने के बारे में नहीं सोचा था। अच्छा है!
टॉम

मेरे ज्ञान के लिए उन पात्रों में से कुछ को एक बाइट का उपयोग करके बचाया जा सकता है, अच्छी तरह से ज्ञात एन्कोडिंग मानते हैं। UTF-8 में मुझे 36 बाइट्स मिलती हैं ... क्या मैं गलत हूं?
स्टीफन

@steffen Japt ISO-8859-1 एन्कोडिंग का उपयोग करता है, जिसमें प्रत्येक चार एक बाइट का प्रतिनिधित्व करता है। लेकिन वर्ण से कुछ को इस कार्यक्रम में गंदा हो सकता है, इसलिए मैं यहाँ (वास्तव में, यह द्वारा स्वतः जेनरेट किया गया था विंडोज़ -1252 एन्कोडिंग का प्रयोग किया TIO )
ETHproductions

6

ब्रेकीलॉग , 44 बाइट्स

" "Ṣ∧"Programming Puzzles"w|"Code"wṢw"Golf"w

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

व्याख्या

" "Ṣ                                           If " " = Ṣ (which is itself " ")
    ∧"Programming Puzzles"w                    Write "Programming Puzzles"
                           |                   Else
                            "Code"w            Write "Code"
                                   Ṣw          Write " "
                                     "Golf"w   Write "Golf"

1
पार किया 44 अभी भी 44 है :( &nbsp;ठीक करने के लिए दोनों तरफ संपादित करें :)
HyperNeutrino

@ हाइपर न्यूट्रिनो इसे पार नहीं किया जाता है, 44 रिक्त स्थान के साथ लंबाई है, और 42 बिना।
घातक

ओह। ओह। खैर, यह बहुत समान है इसलिए मैं संपादन में जाकर मार्कडाउन को देखे बिना नहीं बता सकता था। कोई बात नहीं: P
HyperNeutrino

5

ऐलिस , 44 बाइट्स

/"floG!"t"edoC"#
 /"selzzuP gnimmargorP"d&o@

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

बिना व्हाट्सएप के:

/"floG!"t"edoC"#/"selzzuPgnimmargorP"d&o@

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

व्याख्या

पहले कार्यक्रम में, दो दर्पण /दूसरी पंक्ति पर निर्देश सूचक को पुनर्निर्देशित करते हैं। "selzzuP gnimmargorP"श्रद्धेय क्रम में आवश्यक कोड बिंदुओं को dधक्का देता है, ढेर की गहराई को धक्का देता है और &oकई बाइट्स को प्रिंट करता है। @कार्यक्रम को समाप्त करता है।

व्हॉट्सएप के बिना, प्रोग्राम एक ही लाइन पर है। उस स्थिति में, अनुदेश सूचक आर्डिनल मोड में नहीं जा सकता है, इसलिए /प्रभावी रूप से नो-ऑप्स बन जाते हैं (तकनीकी रूप से, आईपी बस एक कदम नहीं चलता है, वही /फिर से निष्पादित हो जाता है, और आईपी कार्डिनल मोड में वापस दिखाई देता है। )। तो अगर हम उन लोगों को इस कार्यक्रम से हटाते हैं, तो ऐसा लगता है:

"floG!"t"edoC"#"selzzuPgnimmargorP"d&o@

अंतरिक्ष को शामिल करने के लिए Code Golf, हम इसके बजाय विस्मयादिबोधक चिह्न का उपयोग करते हैं और इसके साथ इसे घटाते हैं t। जब हम स्टैक पर सभी कोड पॉइंट्स प्राप्त कर लेते हैं, #तो अगले कमांड को छोड़ देता है, जो कि पूरी दूसरी स्ट्रिंग है। d&oफिर स्टैक को फिर से प्रिंट करता है, और @प्रोग्राम को समाप्त करता है।


आपको इसे गोल्फ (44 को पार करना 44 है)
मिल्कीवेय 90

5

PHP, 44 बाइट्स

टर्नरी ऑपरेटर

<?=" "?"Programming Puzzles":"Code\x20Golf";

PHP, 51 बाइट्स

टिप्पणी

<?=/** /"Code\x20Golf"/*/"Programming Puzzles"/**/;

PHP, 57 बाइट्स

सरणी स्विच

<?=["Code\x20Golf","Programming Puzzles"][(ord("
")/10)];

5

कॉमन लिस्प (SBCL), 52 बाइट्स

(format`,t"~[Programming Puzzles~;Code~@TGolf~]"0 1)

प्रिंटों Programming Puzzles

(format`,t"~[ProgrammingPuzzles~;Code~@TGolf~]"01)

प्रिंटों Code Golf

Ungolfed:

(format t "~[Programming Puzzles~;Code Golf~]" 0 1)

explaination:

ट्रिक मूल रूप से #'formatकॉमन लिस्प में काम करता है।

सीएल में, अधिकांश व्हाट्सएप को छोड़ा जा सकता है बशर्ते कि टोकन शुरू या समाप्त होने के बारे में कोई अस्पष्टता नहीं है। पहली चाल प्रतीकों formatऔर tप्रतीकों को अलग कर रही थी । मुझे स्पष्ट रूप से formatबिना tव्याख्या के प्रतीक को समाप्त करने की आवश्यकता थी कि कैसे व्याख्या की गई थी। सौभाग्य से, `सीएल में संसाधित होने से पहले पूर्ववर्ती टोकन समाप्त हो जाता है, ,और` (`टेम्प्लेटिंग को लागू करने के लिए प्रयोग किया जाता है) को रद्द कर दिया जाता है, जहाँ अगली अभिव्यक्ति के बाद इसे" उद्धृत "किया जाता है, लेकिन किसी उप-अभिव्यक्ति ,का मूल्यांकन किया जाता है और परिणाम टेम्पलेट में शामिल किया गया है, इसलिए, `लगभग एक विकल्प नहीं है)।

तीसरा तर्क formatटेम्पलेट स्ट्रिंग है। formatसी में प्रिंटफ के समान है, लेकिन इसमें% के बजाय संकेत देने के लिए बहुत अधिक शक्तिशाली स्वरूपण निर्देश और उपयोग ~ है। ~ [और ~] आप मुद्रण के लिए कई विकल्पों के बीच चयन करने की अनुमति देते हैं, ~ के साथ; उन्हें अलग करना। एक अतिरिक्त तर्क को स्वरूपित करने के लिए आपूर्ति की जाती है - संख्यात्मक सूचकांक, जिसे आप मुद्रित करना चाहते हैं। कोड गोल्फ में "" सुनिश्चित करने के लिए, मैंने सारणीकरण निर्देश ~ T का उपयोग किया, जिसका उपयोग व्हाट्सएप को डालने के लिए किया जाता है, आम तौर पर कॉलम में पाठ संरेखित करने के लिए। ~ @ टी एक भिन्नता है जो केवल दी गई संख्या में रिक्त स्थान सम्मिलित करती है, 1 के लिए डिफ़ॉल्ट।

अंत में, प्रारूप करने के लिए दो तर्क हैं- 0 और 1. व्हाट्सएप को हटाने से पहले, "प्रोग्रामिंग पहेलियाँ" का चयन करने के लिए ~ [~; ~] द्वारा 0 का उपयोग किया जाता है और अतिरिक्त प्रारूप तर्क (1) छोड़ दिया जाता है (मैं हूं यह सुनिश्चित नहीं है कि मानक प्रारूप में अतिरिक्त ड्रॉप आउट तर्क कैसे हैं, लेकिन यह स्टील बैंक कॉमन लिस्प पर काम करता है)। व्हाट्सएप हटाए जाने के बाद, केवल एक तर्क (01) है जो इसके बजाय "कोड गोल्फ" का चयन करता है।


1
+1, बस एक चीज: "लेकिन" के साथ उपसर्ग ,का मूल्यांकन किया जाता है और "जिसके ,@लिए आवश्यक नहीं है" ?
प्रेज़ेमिसलावप

"spliced" इसके लिए एक खराब शब्द है, संयोग से। तकनीकी रूप से, ,अगली अभिव्यक्ति को विकसित करता है और इसमें टेम्पलेट में परिणाम शामिल होता है, जबकि ,@यह मान लेता है कि अभिव्यक्ति किसी सूची में शामिल होगी और उस सूची की सामग्री को सीधे टेम्पलेट में शामिल करेगी। पारंपरिक रूप से लिस्प समुदाय में, ,@"स्पाइसिंग" कहा जाता है, लेकिन मुझे यकीन नहीं है कि यह सबसे स्पष्ट विकल्प है। मैं इसे थोड़ा सा पुन: प्रकाशित करने का प्रयास करूँगा।
djeis


4

सी # 88 81 70 63 बाइट्स

Func<string>@a=()=>" "==""?"Code\x20Golf":"Programming Puzzles";

व्हाट्सएप छीन लिए जाने के साथ:

Func<string>@a=()=>""==""?"Code\x20Golf":"ProgrammingPuzzles";

ब्रायन के लिए धन्यवाद कि मुझे यह दिखाने के लिए कि कैसे एक विधि वापसी प्रकार और विधि नाम के बीच कोई स्थान नहीं है, 7 बाइट बचाने के लिए पीटरटायलर , और 7 बाइट बचाने के लिए पैट्रिक हुइज़िंगा ।

एक ही विधि का किसी और वास्तव में हर किसी के रूप में, तकनीकी रूप से यह अवैध माना जा सकता है क्योंकि विधि विधि के लिए एक वापसी प्रकार निर्दिष्ट नहीं है, लेकिन वहाँ है वापसी प्रकार और विधि नाम के बीच खाली स्थान के होने के लिए।


1
आप ए के साथ फ़ंक्शन नाम को उपसर्ग कर सकते हैं @, इसलिए आपके पास void@a..."नो रिटर्न टाइप" संकलन त्रुटि है (बाइट्स को जोड़ता है, हालांकि :()
ब्रायन जे

.Length<1एक बाइट बचाता है; \u0020अगर मैंने सही तरीके से गिना है तो छह बचाता है; और आप एक शीर्ष स्तर के फ़ंक्शन के बजाय एक लैम्ब्डा सबमिट करके एक वैध उत्तर बना सकते हैं (और उसी समय कुछ बाइट्स बचा सकते हैं)। Func<string>a=()=>...
पीटर टेलर

@BrianJ हम्म, पता नहीं है, आश्चर्य है कि क्यों एक संकलक दृश्य बिंदु से काम करता है। वैसे भी, यह बाइट्स खो सकता है, लेकिन यह तकनीकी रूप से इस उत्तर को गैर-प्रतिस्पर्धी नहीं बनाता है, इसलिए यह इसके लायक है। धन्यवाद!
स्काइड्सदेव

@Mayube @मुख्य रूप से उपयोग किया जाता है यदि आपको एक आरक्षित नाम का उपयोग चर नाम के रूप में करने की आवश्यकता होती है ( []VB.NET (और MS SQL सर्वर) के साथ बराबर है )।
ब्रायन जे

1
हां, इसे स्ट्रिंग वापस करने की आवश्यकता है; लेकिन अगर आप के =>बजाय आप का उपयोग returnकिसी भी रिक्त स्थान की जरूरत नहीं है। (और यहां तक ​​कि अगर आप उपयोग करते हैं return, तो आप कर सकते हैं return(...))।
पीटर टेलर

4

जावा 8, 74 50 48 बाइट्स

()=>" "==""?"Code\040Golf":"Programming Puzzles"

@NonlinearFruit आप सही हैं, मैंने बदल दिया है कि एक गैर-सक्षम होने के लिए
Khaled.K

1
मुझे नहीं लगता कि मुद्रण एक आवश्यकता है, इसलिए आप केवल स्ट्रिंग वापस कर सकते हैं। मैंने इसका परीक्षण नहीं किया है, लेकिन ==ऑपरेटर को भी काम करना चाहिए,()=>""==""?"Code\u00A0Golf":"Programming Puzzles"
NonlinearFruit

1
\u00A0-> \0402 बाइट बचत के लिए।
प्रहार





3

डीसी , ५०

[pq]sm[Programming Puzzles]dZ19=m[Code]n32P[Golf]p

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

[ ]एक स्ट्रिंग को परिभाषित करता है - Zइसकी लंबाई को मापता है। यदि लंबाई 19 है, तो इसमें एक स्थान होता है और एम रजिस्टर में संग्रहीत मैक्रो को कहा जाता है, जो प्रिंट Programming Puzzlesऔर क्विट करता है। नहीं Code Golfतो छपा है।


आप dc दुभाषिया / डॉक्स / github से लिंक कर सकते हैं?
प्रोग्रामर

@ programmer5000 बस TIO पर dc चुनें, फिर भाषा के नाम पर क्लिक करें।
डेनिस

@ डेनिस धन्यवाद, मुझे यह भी नहीं पता था कि टीआईओ ऐसा करता है!
प्रोग्रामर

3

> <> , 47 45 बाइट्स

! v"floG!"1-"edoC"!
o<>"selzzuP gnimmargorP">

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

-2 के लिए रैंडम के लिए धन्यवाद (चतुर दो !एस ताकि मैं केवल एक का उपयोग कर सकूं>o< ।)

कोड चिल्लाता है "Flog! Flog! Flog!" और एक मछली जैसा दिखता है।


3

टी-एसक्यूएल, 96 82 81 67 बाइट्स

print+iif(len(' x')=2,'Programming Puzzles','Code'+char(32)+'Golf')

इसे ऑनलाइन आज़माएं | जगह के बिना

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

select(case'x'when(replace(' ',' ','x'))then'Programming Puzzles'else'Code'+nchar(32)+'Golf'end)

अच्छा काम, आप बाहरी iif(len(' x')=2
पार्न्स

@ ब्रैडक क्लोज़, लेकिन आउटर पैरेन के बाद स्पेस की ज़रूरत को रोकता है print। मैंने +इसके बजाय इस्तेमाल किया और यह काम किया।
mbomb007

चिपकाया है और गलत गिना जाना चाहिए। और मैं या तो नहीं जानता था, लेकिन सबसे पहला चरित्र मैंने कोशिश की और यह काम किया।
mbomb007

3

पर्ल 5 , 43 41 बाइट्स

say" "?"Programming Puzzles":Code.$".Golf

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

इस तथ्य का उपयोग करता है कि ' 'पर्ल में सच है और ''गलत है। $"चर डिफ़ॉल्ट रूप से एक जगह पर सेट है।

दो बाइट निकालने के लिए @NahuelFouilleul को धन्यवाद।


शायद देर से लेकिन "Code$\"Golf"कम और Code.$".Golfबहुत कम है
नाहुएल फौइउल

जब मैंने यह उत्तर लिखा था तब @NahuelFouilleul हाँ, मैं बहुत नया था। हालांकि धन्यवाद!
क्रिस


2

Befunge , 76 बाइट्स

" "0`#v_"floG"84*"edoC",,,,,,,,,@
,,,,,@>"selzzuP gnimmargorP",,,,,,,,,,,,,,

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

सबसे कॉम्पैक्ट समाधान नहीं है, लेकिन फिर व्हाट्सएप के बिना फिर से Befunge कोड लिखना बहुत मुश्किल है।

बहुत शुरुआत में, यह एक अंतरिक्ष चरित्र की तुलना 0. के साथ करता है। यदि यह अधिक है, तो यह नीचे की पंक्ति में जाता है। यदि ऐसा नहीं है, तो क्या होता है जब आप अंतरिक्ष को कुछ नहीं के साथ बदलते हैं, यह पहली पंक्ति पर रहता है।


एस क्या करते ,हैं?
प्रोग्रामर

@ प्रोग्रामर 5000 प्रत्येक वर्ण को प्रिंट करता है।
मार्टिन एंडर

जब तक आप 0 तक नहीं पहुँचते, तब तक बड़ी संख्या में वर्णों को प्रिंट करने की एक टिप वह है >:#,_जो आपको बहुत सारे बाइट्स बचा सकती है
MildlyMilquetoast
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.