प्रीस्टाइन और यूनिक कोड बॉलिंग


80

आपकी चुनौती सरल है: केवल अनूठे बाइट्स का उपयोग करके अपनी पसंद की भाषा में यथासंभव प्राचीन कार्यक्रम लिखें । (उस लिंक से कॉपी किए गए एक प्राचीन कार्यक्रम की पूरी परिभाषा, इस सवाल के निचले भाग में है।)

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

"प्राचीन कार्यक्रम" की उपरोक्त व्याख्या और लिंक की गई परिभाषा के प्रयोजनों के लिए, एक त्रुटि को किसी भी चीज के रूप में परिभाषित किया जाता है, जिसके कारण कार्यक्रम या तो पूरी तरह से चलाने में विफल रहता है या समय की एक सीमित मात्रा के बाद नॉनजेरो एक्जिट कोड के साथ समाप्त हो जाता है।

जैसा कि यह , सबसे लंबा , सबसे छोटा नहीं, कोड जीत (बाइट काउंट द्वारा मापा गया)। अधिकतम सैद्धांतिक रूप से संभव स्कोर 256 है, क्योंकि 256 अलग-अलग बाइट्स संभव हैं। एक टाई के मामले में, उच्चतम स्कोर की जीत पर पहला जवाब।


यहाँ एक प्राचीन कार्यक्रम की पूरी परिभाषा दी गई है, जो उपरोक्त लिंक से कॉपी किया गया है:

आइए एक प्राचीन कार्यक्रम को एक ऐसे प्रोग्राम के रूप में परिभाषित करें जिसमें स्वयं कोई त्रुटि नहीं है, लेकिन यदि आप इसे N वर्णों के किसी भी सन्निहित विकल्प को हटाकर संशोधित करेंगे, जहां 1 <= N < program length

उदाहरण के लिए, तीन चरित्र पायथन 2 कार्यक्रम

`8`

एक प्राचीन कार्यक्रम है क्योंकि लंबाई 1 के सबस्ट्रिंग को हटाने के परिणामस्वरूप होने वाले सभी कार्यक्रम त्रुटियों का कारण बनते हैं (लेकिन वास्तव में किसी भी प्रकार की त्रुटि होगी):

8`
``
`8

और यह भी सभी कार्यक्रमों की वजह से लंबाई 2 की substrings को हटाने से त्रुटियों का कारण बनता है:

`
`

यदि, उदाहरण के लिए, `8एक गैर- `8`गलत कार्यक्रम था, तो वह प्राचीन नहीं होगा क्योंकि प्रतिस्थापन हटाने के सभी परिणामों में त्रुटि होनी चाहिए।


37
एक अच्छा कोड-बॉलिंग चैलेंज बनाने के लिए आपको सलाम !
ETHproductions

यदि कोई उपप्रोग्राम हमेशा के लिए चलता है, लेकिन क्या त्रुटि नहीं है जो उत्तर को अमान्य बनाता है?
डायलन

1
@dylnan "एक त्रुटि के रूप में परिभाषित किया गया है [...] समय की एक सीमित राशि के बाद [...] ।"
user202729

3
@ बाल्ड्रिक नहीं, इस चुनौती के लिए अनुमति नहीं दी जाएगी। (यदि आप प्रश्न में उदाहरण का उल्लेख कर रहे हैं, तो यह एक प्राचीन कार्यक्रम का प्रदर्शन है, लेकिन जो अद्वितीय बाइट्स की अतिरिक्त आवश्यकता को पूरा नहीं करता है।)
एडन एफ। पियर्स

1
क्या हम अपरिभाषित व्यवहार को एक त्रुटि के रूप में गिन सकते हैं यदि व्यवहार में यह आमतौर पर एक त्रुटि के परिणामस्वरूप होता है? मैं JMP <address outside of the program's memory>विधानसभा में ऐसा कुछ सोच रहा हूं । एक वास्तविक कंप्यूटर पर सिद्धांत रूप में यह लूप को अनन्त रूप से लूप कर सकता है या एक गैर-शून्य त्रुटि के साथ बाहर निकल सकता है, लेकिन यह आमतौर पर शानदार रूप से दुर्घटनाग्रस्त हो जाएगा।
क्रिस

जवाबों:


20

जेली , 253 254 256 बाइट्स

M“¢£¥¦©¬®µ½¿€ÆÇÐÑ×ØŒÞßæçðıȷñ÷øœþ !"#%&'()*+,-./0145689:;<=>?@ABCDEFGHIJKNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|~¶°¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ƁƇƑƓƘⱮƝƤƬƲȤɓƈɗƒɠɦƙɱɲƥʠɼʂƭʋȥẠḄḌẸḤỊḲḶṂṆỌṚṢṬỤṾẈỴẒȦḂĊḊĖḞĠḢİĿṀṄȮṖṘṠṪẆẊẎŻḅḍẹḥịḳḷṃṇọṛṣṭụṿẉỵẓȧḃċḋėḟġḣŀṁṅȯṗṙṡṫẇẋẏż”L»«’Ɗạ‘}237$¤¡

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

गोल्फ की भाषाएं बदल सकती हैं ...

  • में काम करके +1 बाइट अब केवल «»उपयोग नहीं किए जाते हैं
  • +2 बाइट्स के साथ «»। अब इष्टतम स्कोर है!

कैसे?

जेली की महत्वपूर्ण विशेषता यह संभव बनाती है कि स्ट्रिंग शाब्दिक के लिए उद्घाटन और समापन वर्ण लगभग सभी अन्य भाषाओं की तरह नहीं हैं।

कार्यक्रम की संरचना इस प्रकार है:

M <239 character long string> L»«’Ɗạ‘}237$¤¡

Mइसके तर्क के संकेत मिलते हैं जो अधिकतम तत्वों की ओर इशारा करते हैं। यह सब मायने रखता है कि इस कार्यक्रम के लिए कोई तर्क नहीं के साथ लागू 0होने पर जेली श्रृंखला और जेली त्रुटियों को असाइन करती Mहै 0

पूर्ण कार्यक्रम में Mअभिनय करने से रोकने के लिए 0, हम ¡त्वरित का उपयोग करते हैं , जो Mलिंक के परिणाम द्वारा निर्धारित कई बार लागू होता है, तुरंत इसके पहले। इस मामले में वह लिंक है <239 character long string> L»«’Ɗạ‘}237$¤

Lइस स्ट्रिंग की लंबाई (239) लेता है, और »«’Ɗइसे घटाकर 238 कर देता है। »«भाग कुछ भी नहीं करता है Ɗ(एक मोनड के रूप में अंतिम तीन लिंक) इसे बनाता है ताकि यदि उन्हें हटा दिया जाए तो एक त्रुटि उत्पन्न होगी। फिर और स्ट्रिंग पर लागू किए गए मोनाड के परिणाम के बीच पूर्ण अंतर लेता है । वेतन वृद्धि और एक मोनाड है, लेकिन यह एक रंग में बदल जाता है और इसे सही तर्क पर लागू करता है , उपज । इस प्रकार पूर्ण कार्यक्रम में पैदावार होती है।»«’Ɗ‘}237$}2372380

¤एक लिंक बनाने के लिए वापस स्ट्रिंग शाब्दिक लिंक एक निलाद। इसका परिणाम यह है 0, इसलिए Mकिसी भी त्रुटि को रोकने के लिए, बिल्कुल भी लागू नहीं किया जाता है।

संभव उपप्रोग्राम:

  • यदि स्ट्रिंग का कोई भी हिस्सा हटा दिया जाता है, <string>..¤तो नॉनजरो हो जाएगा और उस पर Mलागू हो जाएगा 0, जिससे त्रुटि उत्पन्न होगी।
  • यदि किसी भी हिस्से L»«’Ɗạ‘}237$को हटा दिया जाता है या तो Mलागू 0हो जाएगा या स्ट्रिंग और संख्या के बीच संचालन होगा, जिसके परिणामस्वरूप ए TypeError
  • यदि किसी ¤¡को हटा दिया Mजाता है, तो इसके लिए आवेदन किया जाता है 0
  • स्ट्रिंग समापन चरित्र हैं और दोनों का ’‘हटा दिया और हो नहीं है, सब कुछ के बाद Mएक स्ट्रिंग में बदल जाता है तो Mपर कार्य करेगा 0
    • यदि स्ट्रिंग समापन चरित्र और हटा दिया जाता है और नहीं करता है, के बीच सब कुछ और पूर्णांकों की सूची में बदल जाता है।
  • यदि Mअकेले निकाल दिया जाता है, तो एक EOFErrorकारण ¡है क्योंकि पूर्ववर्ती निलाद से पहले एक लिंक की उम्मीद है।
  • यदि M“और किसी भी वर्ण को हटा दिए जाने के बाद, वहाँ एक निलड के लिए लग रहा है EOFErrorक्योंकि ¤यह पहले होगा, लेकिन एक नहीं मिलता है। 238गिनती नहीं है क्योंकि यह एक मठ का हिस्सा है।

यह बहुत ज्यादा सब कुछ कवर करता है।

मैंने पहले उपयोग नहीं किया था «»‘क्योंकि बाद वाले दो को स्ट्रिंग में शामिल नहीं किया जा सकता क्योंकि वे तार के अलावा चीजों को बनाने के लिए चरित्र से मेल खाते हैं। «एक “”तार में नहीं हो सकता है, लेकिन मुझे नहीं पता कि क्यों।


31

हास्केल , 39 45 50 52 60 बाइट्स

main=do{(\𤶸	陸 ⵙߜ 新->pure fst)LT
EQ[]3
2$1}

आइडेंटिफ़ायर mainके पास टाइप के IO aलिए टाइप ए होता है। जब प्रोग्राम निष्पादित किया जाता है, तो संगणना की mainजाती है, और उसका परिणाम छोड़ दिया जाता है। इस मामले में इसका प्रकार है IO ((a,b)->a)

परिणाम फ़ंक्शन का एक अनुप्रयोग है (λ a b c d e f → return fst), एक छह-तर्क निरंतर फ़ंक्शन फ़ंक्शन fst (जो 2-ट्यूपल का पहला तत्व देता है), आईओ मोनड में इंजेक्ट किया जाता है। छह तर्क हैं LT(कम से कम के लिए enum), EQ(समानता के लिए enum), खाली सूची [], 3, 2और 1

रिक्त स्थान के रूप में गणना करने वाले अद्वितीय वर्णों के साथ रिक्त स्थान क्या होंगे: एक टैब, एक नॉन-ब्रेकिंग स्पेस, एक फॉर्मफीड, वर्टीकल टैब, ओगैम स्पेस मार्क, नियमित स्पेस, न्यूलाइन और कैरिज रिटर्न। यदि इनमें से कोई भी गायब है, तो तर्कों की संख्या में एक बेमेल होगी। पैरामीटर नाम तीन या चार बाइट UTF-8 वर्णों के रूप में चुने जाते हैं 𤶸陸ⵙ商ߜ新, ध्यान से उन पात्रों को चुनते हैं जो डुप्लिकेट बाइट्स में परिणाम नहीं करते हैं।

उनके बहुमूल्य योगदान के लिए @BMO को धन्यवाद।

हेक्स डंप:

00000000: 6d61 696e 3d64 6f7b 285c f0a4 b6b8 09ef  main=do{(\......
00000010: a793 c2a0 e2b5 990c e595 860b df9c e19a  ................
00000020: 80e6 96b0 2d3e 7075 7265 2066 7374 294c  ....->pure fst)L
00000030: 540a 4551 5b5d 330d 3224 317d            T.EQ[]3.2$1}

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


एचएम, '\109999'कम से कम जीएचसी 8.2.2 में मान्य प्रतीत होता है। '\10999a'एक शाब्दिक त्रुटि पैदा करता है।
चेपनर

@chepner: मैंने अभी GHC 8.2.2 के साथ परीक्षण किया है और 𚶯साथ ही एक शाब्दिक त्रुटि पैदा करता है।

2
@ शेपनर: सबसे बड़ा चार है maxBound :: Char, यानी '\1114111'। नोट: संख्याएं डिफ़ॉल्ट रूप से दशमलव हैं, इसलिए यदि आप हेक्स चाहते हैं, तो आपको एक के xबाद एक रखना होगा \ , जैसे '\x10999a'
नौ

@nimi Aaaand मुझे लगता है कि हमने यह स्थापित किया है कि मैं कितनी बार यूनिकोड एस्केप का उपयोग करता हूं :) हेक्स मूल्यों के लिए सही रूप का उपयोग करके, \x10ffffठीक काम करता है, और \x110000एक आउट-ऑफ-रेंज त्रुटि प्रदान करता है जैसा कि कोई अपेक्षा करेगा।
चेपनर

24

पायथन 2 ,  20 21 33 39 45  50 बाइट्स

अब बहुत सहयोगात्मक प्रयास!

+2 ऐडन एफ पियर्स के लिए धन्यवाद ( sorted({0})साथ में बदलें map(long,{0}))

+8 डायलेन के लिए धन्यवाद ( \अंतरिक्ष को बदलने के लिए और न्यूलाइन का उपयोग ; 0गणितीय अभिव्यक्ति से स्थानांतरित करने के लिए सुझाव ; -1साथ की जगह -True; हेक्साडेसिमल का उपयोग)

+11 एंग्स के लिए धन्यवाद ( 4*23+~91-> ~4836+9*1075/2फिर बाद में ~197836254+0xbCABdDF-> ~875+0xDEAdFBCbc%1439/2*6)


if\
map(long,{~875+0xDEAdFBCbc%1439/2*6})[-True]:q

इसे ऑनलाइन आज़माएं! या पुष्टि सूट देखें

0xDEAdFBCbcहेक्साडेसिमल है और इसका मूल्यांकन करता है 59775106236
~बिट-वार सप्लीमेंट है, जिससे ~875मूल्यांकन होता है -876
%मोडुलो ऑपरेटर ऐसा 0xDEAdFBCbc%1439मूल्यांकन करता है 293
/पूर्णांक विभाजन है, इसलिए इसका 0xDEAdFBCbc%1439/2मूल्यांकन करता है 146
*गुणन है इसलिए xDEAdFBCbc%1439/2*6मूल्यांकन करता है 876
+इसके अलावा ~875+xDEAdFBCbc%1439/2*6मूल्यांकन करने के लिए है 0
... कोई छीन लिया संस्करण भी मूल्यांकन करता है 0

{0}एक है setएक भी तत्व से युक्त, 0

तर्क के रूप में कॉल sortedकरने setसे एक सूची प्राप्त होती है, जिसे इसके साथ अनुक्रमित किया जा सकता है [...]

sortedकोड के बिना ({0})बस उपज होगी setऔर यह एक ही फैशन में अनुक्रमित नहीं किया जा सकता है, if({0})[-True]:qएक बढ़ाएगा TypeError

पायथन में अनुक्रमण 0-आधारित है और पीछे से नकारात्मक अनुक्रमण की अनुमति देता है और Trueइसके बराबर है 1, इसलिए sorted({0})[-True]तत्व को पाता है 0, जबकि इच्छाशक्ति और अमान्य सिंटैक्स sorted({0})[True]उठाएंगे ।IndexErrorsorted({})[-True]sorted({0})[]

0कि पाया जाता है falsey के शरीर तो है if, qनहीं, कभी नहीं मार डाला है, लेकिन अगर यह थे कि यह एक उठाएंगे NameErrorके बाद से qपरिभाषित नहीं किया गया है।

चूंकि एक गैर-रिक्त सूची सत्य है, इसलिए हम if[-1]:qया तो नीचे ट्रिम नहीं कर सकते ।

देखने के लिए पुष्टिकरण सूट देखें: बाइट्स अद्वितीय होने की पुष्टि करें; सभी त्रुटियां; और कोड की सफलता।


17

C (tcc) , x86_64, 29 31 33 39 40 बाइट्स

main[]={(23*8),-~0xABEDFCfebdc%95674+1};

लौटता है अपरकेस हेक्स अंक सुझाने के लिए @ फ़ेर्सम का धन्यवाद।

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

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

असाइनमेंट मुख्य की मेमोरी लोकेशन पर दो इनट्स ( 184 और 49664 ) लिखता है । 32-बिट ints और थोड़ा-सा एंडियन बाइट ऑर्डर के साथ, सटीक बाइट्स हैं ।b8 00 00 00 00 c2 00 00

चूंकि tcc परिभाषित सरणी को .ata (ज्यादातर कंपाइलर) के रूप में घोषित नहीं करता है , इसलिए मुख्य कूदने के लिए मशीन कोड को निष्पादित करता है।

  • b8 00 00 00 00( mov eax, imm32) ईएक्स रजिस्टर में इंट 0 को स्टोर करता है ।

  • c2 00 00( ret imm16) स्टैक से 0 अतिरिक्त बाइट्स को पॉप करता है और रिटर्न करता है। (ईएक्स रजिस्टर में मूल्य फ़ंक्शन रिटर्न वैल्यू है)।


15

> <> , 122 बाइट्स

e"~l=?!z6-d0p}xwutsrqonmkjihgfcba`_]\[>ZYXWVUTSRQPONMLKJIHGFEDCB@<:98754321/,+*)('&%$# .	|{Ay

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

कुछ नहीं करता। मेरी प्रोग्रामिंग प्रिस्टिन वर्ल्ड के उत्तर के समान प्रारूप के आधार पर ।

सबसे पहले, हम जाँचते हैं कि कोड की लंबाई 122 है और यदि यह नहीं है तो त्रुटि। ><>प्रोग्राम ;कमांड के उपयोग के बिना समाप्त नहीं हो सकते हैं , लेकिन यदि यह कमांड प्रोग्राम में है, तो प्रोग्राम को तुरंत समाप्त करने से पहले हम सब कुछ हटा सकते हैं। इससे निपटने के लिए, हम रनटाइम के दौरान कोड में pजगह के लिए कमांड का उपयोग करते हैं ;। ऐसा करने के लिए, हम 6 को घटाते हैं Aऔर उसके बाद रखते हैं p

एक बार जब मैं सही दो बाइट मूल्यों का पता लगाता हूं, तो शायद मैं 127 से ऊपर के अन्य मूल्यों को जोड़ दूंगा। लापता 5 मान हैं v^;और दो newlines।

7502 उप-कार्यक्रमों में से, उनमें से 7417 अमान्य निर्देशों से, 72 मेमोरी अंडरफ्लो से, और 13 मेमोरी से बाहर चलने से हैं।


13

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

if([0XacdCADE*Proxy.length]!=362517948)田
  • हटाना i, fया ifकारण होगा SyntaxError: missing ; before statement;
  • हटाने का कारण होगा SyntaxError: expected expression, got end of script;
  • 1 या 2 बाइट्स को हटाने से कारण होगा Invalid or unexpected token;
  • बूलियन अभिव्यक्ति को संशोधित करें या तो सिंटैक्स त्रुटि या संदर्भ त्रुटि का कारण होगा

00000000: 6966 285b 3058 6163 6443 4144 452a 5072  if([0XacdCADE*Pr
00000010: 6f78 792e 6c65 6e67 7468 5d21 3d33 3632  oxy.length]!=362
00000020: 3531 3739 3438 29e7 94b0                 517948)...


8

ब्रेन-फ्लैक , 2 बाइट्स

<>

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

वैकल्पिक रूप से [], {}या ()। ब्रैकेट को हटाने से अन्य ब्रैकेट बेजोड़ हो जाते हैं।

प्रमाण है कि यह इष्टतम समाधान है:

ब्रेन-फ्लैक प्रोग्राम को निलाड्स (अपने आप ब्रैकेट की एक जोड़ी) या मोनाड्स (ब्रैकेट्स की एक जोड़ी जिसमें 1 या अधिक निलाड्स होते हैं) से बाहर किया जाता है। एक मठ एक प्राचीन कार्यक्रम में नहीं हो सकता है, जैसा कि आप बस एक या अधिक निलाद को हटा सकते हैं। इसी तरह, आपके पास प्रोग्राम में एक से अधिक निलाद नहीं हो सकते हैं, क्योंकि आप प्रोग्राम को तोड़ने के बिना उनमें से एक को निकाल सकते हैं।

जैसे, यह प्राचीन या अद्वितीय प्रोग्रामिंग के लिए सबसे कम इष्टतम भाषा हो सकती है।


6

एडा, 110 बाइट्स (लैटिन 1)

शायद सबसे अच्छा जवाब आप उद्योग में उपयोग में किसी भी भाषा से बाहर निकलेंगे?

Hexdump:

0000000: 7061 636b 4167 4520 6266 686a 6c6d 6f71  packAgE bfhjlmoq
0000010: 7274 7576 7778 797a e0e1 e2e3 e4e5 e6e7  rtuvwxyz........
0000020: e8e9 eaeb eced eeef f0f1 f2f3 f4f5 f6f8  ................
0000030: f9fa fbfc fdfe 0d69 730b 656e 6409 4246  .......is.end.BF
0000040: 484a 4c4d 4f51 5254 5556 5758 595a c0c1  HJLMOQRTUVWXYZ..
0000050: c2c3 c4c5 c6c7 c8c9 cacb cccd cecf d0d1  ................
0000060: d2d3 d4d5 d6d8 d9da dbdc ddde 3b0a       ............;.

किसी भी फ़ाइल को समाप्त करने .adsऔर चलाने में सहेज कर संकलन करें gcc -c <filename>। एक निष्पादन योग्य का उत्पादन करता है जो कुछ भी नहीं करता है। (TIO लिंक प्रदान नहीं कर सकता क्योंकि TIO एक .adbफ़ाइल में कोड डालता है और gccडिफ़ॉल्ट रूप से उनके लिए एक मिलान युक्ति खोजने की कोशिश करता है)

मूल रूप से एक पैकेज की घोषणा करता है, जिसमें दुर्व्यवहार करने वाली पूंजी / लोअरकेस लैटिन 1 अक्षर होते हैं। प्रत्येक स्थान के लिए एक अलग व्हाट्सएप चरित्र की आवश्यकता होती है, इसलिए यह अंतरिक्ष, सीआर, एलएफ और टीएबी का उपयोग करता है।

यह विम संस्करण में कैसा दिखता है:

packAgE bfhjlmoqrtuvwxyzàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ^Mis^Kend^IBFHJLMOQRTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ;

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

आदा में भी कल्पना को संकलित किया जा सकता है। स्पेक सी की हेडर फ़ाइलों की तरह हैं, लेकिन अधिक पूर्ण विशेषताओं वाले हैं और कुछ मूल कोड को संकलित कर सकते हैं। मान्य होने के लिए किसी भी विनिर्देशन का प्रारूप होना चाहिए: मिलान के package <NAME> is ... end <NAME>;साथ <NAME>। अदा के बारे में अच्छी बात यह है कि यह पूरी तरह से असंवेदनशील है। इस प्रकार जब तक आपके नाम में अपरकेस और लोअरकेस वेरिएंट है, तब तक आप जा सकते हैं!

कठिन भाग को एक संकलित इकाई मिल रही थी। आम तौर पर एडीए कार्यक्रमों में किसी भी पैकेज के बाहर एक 'मुख्य' प्रक्रिया या कार्य होता है जो अंतिम निष्पादन योग्य बन जाएगा। दुर्भाग्यवश प्रक्रियाओं को beginकीवर्ड की आवश्यकता होती है , जो बहुत सारे es (केवल 2 मामलों को ज्ञात करता है) को कार्य की आवश्यकता होती है जबकि returnकीवर्ड को बहुत अधिक ns की ओर ले जाता है । इस प्रकार मुझे सिर्फ एक पैकेज संकलित करना था।


4

सी, 8 बाइट्स

main(){}

कुछ नहीं करता।

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


1
शायद मैं चुनौती लेकिन क्या बारे में समझ में नहीं आताmain(){short x;}
जेरी यिर्मयाह

@ जेरेमीरमैया: नहीं, main(){short;}केवल एक संकलन है warning: useless type name in empty declaration। मुझे लगता है कि C99 और C ++ को एक स्पष्ट रिटर्न प्रकार की आवश्यकता होती है, इसलिए int main(या हो सकता है unsigned main) काम कर सकता है, लेकिन जीसीसी के साथ नहीं जो केवल साथ ही चेतावनी देता है -std=c11
पीटर कॉर्डेस

@JerryJeremiah: return 0;C89 के साथ संभव हो सकता है, जहां return 0अंत में कोई निहित नहीं है main। अन्य उत्तरों के अनुसार गैर-शून्य स्थिति के साथ बाहर निकलना विफलता माना जा सकता है। क्या -Werrorकोड बॉल में अच्छे तरीके से स्कोर की ओर संकलक झंडे जोड़ना भी शामिल है ? क्योंकि C11 के उल्लंघन को सख्ती से लागू करने से बहुत अधिक कार्यक्रम की अनुमति मिल सकती है। हम्म, #include<>कुछ और फिर इसका उपयोग करें; आप शामिल और उपयोग दोनों को नहीं हटा सकते हैं, और यदि यह प्रोटोटाइप या मैक्रो डीफ़ के बिना क्रैश हो जाता है, तो आप जीत जाते हैं।
पीटर कॉर्डेस

@PeterCordes मुझे लगता है कि के बारे में सोचा है, लेकिन mainऔर includeदोनों हो सकते हैं i, ताकि आप दोनों नहीं हो सकता। इसी प्रकार किसी कार्य को घोषित करने और उपयोग करने के लिए। इसके अलावा returnसभी का उपयोग करने के बारे में सोचना आता है।
क्रिस

उफ़, मैं अद्वितीय बाइट्स आवश्यकता के बारे में भूल गया; बेशक int mainकाम नहीं कर सकता।
पीटर कॉर्डेस

4

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

with(0xF?JSON:[])parse

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

संभावित त्रुटियां

जब परिवर्तित किया जाता है, तो यह निम्नलिखित त्रुटियों में से एक को फेंक देगा 1 :

[some_identifier] is not defined
expected expression, got ')'
expected expression, got ':'
expected expression, got '?'
expected expression, got ']'
expected expression, got end of script
identifier starts immediately after numeric literal
missing ( before with-statement object
missing ) after with-statement object
missing : in conditional expression
missing ] after element list
missing exponent
missing hexadecimal digits after '0x'
missing octal digits after '0o'
unexpected token: ')'
unexpected token: ']'
unexpected token: identifier

1. विभिन्न त्रुटियों की सही संख्या इंजन पर निर्भर करती है। यह सूची SpiderMonkey (फ़ायरफ़ॉक्स) के साथ जेनरेट की गई थी।


3

पायथन 3 + फ्लास्क-एनव , 7 13 14 17 बाइट्स

import\
flask_env

कोई TIO नहीं है क्योंकि यह नहीं है flask-env

सबसे लंबा मॉड्यूल नाम मिला जिसका कोई चौराहा importनहीं है और नाम के अंत में कोई संख्या नहीं है। _sha256लंबे समय तक है, लेकिन 256अपने आप में कोई त्रुटि नहीं है। मुझे एक लाइब्रेरी मिली, b3j0f.syncजो एक बाइट लंबी है लेकिन मुझे ठीक से आयात करने के लिए नहीं मिली।

  • +1 बाइट के importसाथ किसी स्थान को बदलने के बाद \<newline>। या तो बाहर निकालना या दोनों एक त्रुटि का कारण बनता है।

अभी भी इससे अधिक विकल्प हो सकते हैं flask_env, मैंने वास्तव में एक संपूर्ण खोज नहीं की थी , लेकिन मैंने ~ 70,000 मॉड्यूल के माध्यम से देखा। सुझाव के लिए खोलें।


256बिना किसी परेशानी के चलाता है।
एडन एफ। पियर्स

@ AidanF.Pierce धन्यवाद, निश्चित।
डायलन

मैं कोशिश की import *[hawkey]और इसी तरह लेकिन दुर्भाग्य से काम नहीं करता है ...
dylnan

1
हॉक मानक पुस्तकालय में नहीं है, इसलिए यह "पाइथन विथ हॉक" (संभवत: कुछ अन्य मॉड्यूल के साथ कहीं बेहतर कर सकता है)
जोनाथन एलन

@JonathanAllan अच्छा बिंदु। अभी जाना है लेकिन मैं बाद में खोज
करूंगा

3

आर , 14 बाइट्स

(Sys.readlink)

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

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

यह पहला प्रयास काम नहीं आया, लेकिन मैंने कोशिश करके बहुत कुछ सीखा!

dontCheck({family;NROW})


2

पर्ल 5, 3 बाइट्स

y=>

=>"वसा अल्पविराम" है, जो बाईं ओर के नंगे भाग को उद्धृत करता है। तो यह इसके बराबर है

"y",

जो कुछ नहीं करता है।

वसा अल्पविराम के बिना, yलिप्यंतरण ऑपरेटर है, जो बाद में दोहराए गए एक ही चरित्र के तीन के बिना अमान्य है।

वसा अल्पविराम भी अमान्य है, जैसा कि =और >अकेला है।


2

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

[]

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

जो किंग के ब्रेन-फ्लैक जवाब से प्रेरित है । यह इष्टतम है क्योंकि ब्रेनफक में एकमात्र त्रुटि बेजोड़ कोष्ठक है। (इस जानकारी के लिए फिर से जो किंग को धन्यवाद।)


हाँ। केवल त्रुटि ब्रेनफक में बेजोड़ कोष्ठक हो सकते हैं
जो किंग


1

मानक एमएल , 22 बाइट्स

val 1089=op-(765,~324)

इसे ऑनलाइन आज़माएं! op-(a,b)का डी-शर्करा वाला रूप है a-b~यूनीस माइनस को दर्शाता है, इसलिए हम वास्तव में कंप्यूटिंग कर रहे हैं 765+324। यह अभिव्यक्ति निरंतर पर पैटर्न-मिलान है 1089। यह मैच सफल होता है अगर कार्यक्रम के साथ छेड़छाड़ नहीं की गई है और करता है - ठीक है, कुछ भी नहीं।

यदि मैच सफल नहीं होता है क्योंकि कुछ अंकों को हटा दिया गया था तो एक को एक unhandled exception: Bindop-एक प्रकार की त्रुटि के परिणामस्वरूप परिणाम निकालना क्योंकि एक ट्यूपल पर मिलान किया जाता है int। सभी अन्य निष्कासन को एक सिंटैक्स त्रुटि में परिणाम करना चाहिए।


1

स्विफ्ट 4 , 19 बाइट्स

[].contains{1 !=
0}

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

मेरे द्वारा पाई गई सभी संभावित त्रुटियाँ हैं:

  • के किसी भी निकाला जा रहा है [, ], {या }एक सिंटैक्स त्रुटि में परिणाम होगा
  • हटाने [].में परिणाम होगाUse of unresolved identifier 'contains'
  • हटाने .में परिणाम होगाConsecutive statements on a line must be separated by ';'
  • हटाने []में परिणाम होगाReference to member 'contains' cannot be resolved without a contextual type
  • हटाने {1 !=␊0}में परिणाम होगाExpression resolves to an unused function
  • हटाने 1 !=␊0में परिणाम होगाMissing return in a closure expected to return 'Bool'
    • नईलाइन हटाने से परिणाम आएगा '!=' is not a prefix unary operator
    • अंतरिक्ष को हटाने से परिणाम होगा '=' must have consistent whitespace on both sides
    • हटाने !=में परिणाम होगाMissing return in a closure expected to return 'Bool'
      • इसके अलावा नईलाइन को हटाने से परिणाम आएगा Consecutive statements on a line must be separated by ';'
      • अंतरिक्ष और न्यूलाइन (और शून्य या अंकों में से एक) को हटाने से परिणाम होगा Contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
  • हटाने [].containsमें परिणाम होगाClosure expression is unused

कुछ अन्य रोचक कार्यक्रम हैं (प्रत्येक पंक्ति में एक):

[].isEmpty
[:].values
[1:2]

इसमें a
बजे



0

रेटिना , 2 बाइट्स

मुझे आश्चर्य नहीं होगा अगर यह इष्टतम है ...

()

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

रेगेक्स में एक खाली समूह होता है। बेजोड़ कोष्ठकों के कारण या तो पेरेन को हटाने से पार्स त्रुटि होगी।

अन्य समाधान कर रहे हैं: \(, \), \[, \], \*, \+, \?,a]


a]त्रुटि नहीं है
jimmy23013

@ jimmy23013 आह, मुझे नहीं पता कि मैं कैसे चूक गया। पीछे लेना।
mbomb007

-2

सी (जीसीसी) , 73 75 बाइट्स

#include <ftw.h>
ABCEGHIJKLMNOPQRSUVXYZabjkmopqrsvxz234567890(){g FTW_D-1;}

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

@Steadybox के उत्तर के आधार पर, गंभीर त्रुटि का पता लगाने के लिए @Angs के लिए धन्यवाद।

हाँ, यह है एक गंदा हैक (क्योंकि यह वास्तव में एक का उपयोग करता है #defineके साथ -DABCEGHIJKLMNOPQRSUVXYZabjkmopqrsvxz234567890=mainऔर -Dg=return), लेकिन मैं किसी भी नियम है जो इस तरह एक संकलक विकल्प पर प्रतिबंध लगाता है नहीं दिख रहा।


पहली पंक्ति को दूर ले जाया जा सकता है ताकि कार्यक्रम प्राचीन न हो
Angs

@ एंग्स थैंक्स, फिक्स्ड (अन्य संकलक विकल्प जोड़ने की कीमत के साथ)
ट्रॉली 813

6
इस मेटा पोस्ट के अनुसार , आपका सबमिशन C भाषा में नहीं है, लेकिन C89 + -DABCEGHIJKLMNOPQRSUVXYZabjkmopqrsvxz234567890=main+ है -Dg=return, इसलिए मेरा तर्क है कि यह विशेष रूप से चुनौती के लिए डिज़ाइन की गई एक निर्मित भाषा का उपयोग करता है , जिसे डिफ़ॉल्ट रूप से मना किया जाता है।
डेनिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.