एक प्रोग्राम लिखें जो हमेशा "2012" आउटपुट करता है - भले ही वह संशोधित हो!


116

यह विचार मेरा नहीं है, हालांकि मुझे नहीं पता कि यह कहां से उत्पन्न हुआ है। मैं एक बार एक प्रोग्रामिंग प्रतियोगिता में इसे बहुत पहले मिला था (1998, अगर मुझे सही याद है)। कार्य अपनी पसंदीदा भाषा में एक प्रोग्राम लिखना है जो 2012 केवल आउटपुट करता है2012 । पकड़ यह है कि 2012किसी एक वर्ण के संशोधित होने के बाद भी प्रोग्राम को आउटपुट होना चाहिए । संशोधन या तो प्रविष्टि, विलोपन या प्रतिस्थापन हो सकता है। बेशक, संशोधन ऐसा होगा कि कार्यक्रम अभी भी वाक्यविन्यास रूप से मान्य है।

चूंकि मैं सभी प्रोग्रामिंग भाषाओं को नहीं जानता, इसलिए मुझे दर्शकों को मेरी मदद करने और प्रस्तुत किए गए उत्तरों का परीक्षण करने के लिए कहना होगा।

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


रनटाइम त्रुटियों के बारे में कैसे सबसे अधिक संभावना अवैध पते को पढ़ने की तरह है?
आआआआआआआआआआआ आआआआआना

@PeterTaylor - पहले से ही 3 उत्तर हैं, सी एक भारी संशोधन के साथ। आप वहां प्रेरणा पा सकते हैं।
विल्क्स-

2
किसी को भी पता लगा कि क्या यह एपीएल या गोल्फस्क्रिप्ट या इसी तरह से असंभव है?
जेफ बर्गज

14
यह मुझे डीएनए और अतिरेक के बारे में सोच रहा है और मेरे कार्यक्रमों में बिट्स को फ्लिप करने के लिए कॉस्मिक किरणों की क्षमता है। दिलचस्प सामान।
जॉन पर्पडी

11
... आपको कुछ नींद की जरूरत है।
विल्क- Vil

जवाबों:


65

सी, 53 अक्षर

main(){register*a="2012";(puts("2012"==a?a:"2012"));}

स्क्रिप्टिंग भाषा के उत्तर की तुलना में थोड़ा लंबा, और उसी मूल सिद्धांत का अनुसरण करता है। इस तथ्य पर निर्भर करता है कि सी के सिंटैक्स की बाधाओं के कारण, केवल ऐसे अक्षर जिन्हें प्रोग्राम को अमान्य बनाये बिना बदलना संभव होगा, वे तार के भीतर हैं!

संपादित करें: 4 वर्णों से काटे गए।

Reedit: मजबूतता बढ़ी, एक चरित्र से मुंडा।

पुन: रेडिट: लंबा, लेकिन अधिक मजबूत। बस &अब अपनी कोशिश करो! (इस समय सही है)।

अपडेट: थोड़ा छोटा; पराजित सबसे दृष्टिकोण अब तक देखा।

अद्यतन: शून्य करने के लिए बदल int; मुझे लगता है कि इसे तोड़ने के लिए अंतिम संभव दृष्टिकोण को हराना चाहिए।

अपडेट: मैं एक और दृष्टिकोण का हिस्सा हूं; अंतिम की जगह a(यह सड़ सकता है) 0; दो-अक्षर के नाम का उपयोग करके उस समस्या से निपटना चाहिए।

अपडेट: अंतिम अपडेट निरस्त; रनटाइम त्रुटियों के कारण परिवर्तन मान लेना बंद कर दिया गया है; aठीक काम करेगा।

अद्यतन: कुछ और पीछे; घबराहट की कोशिश *aभी सेगफ़ॉल्ट करेगी; इसलिए voidएक संकलन त्रुटि का चिढ़ाने के लिए उपयोग करना आवश्यक नहीं होना चाहिए।

अद्यतन: और एक अंतिम छोटा; यह स्ट्रिंग पर निर्भर करता है "2012"लेकिन एक पते पर (जो आम है); और यह शाब्दिक तार केवल (सामान्य भी) पढ़ा जाता है।

अद्यतन: यह मुझे दो पात्रों की लागत है, लेकिन मैं अपने दंड अर्ध-बृहदांत्र को हरा दिया!


2
@PaRR: अब बदल गया है register void; registerवहाँ रोकने के लिए है &; voidको रोकने के लिए है *
विलीह टोटलैंड

6
ठीक है ... मुझे सही करें यदि यह अमान्य है C, लेकिन यह सिर्फ मेरे VS2010 पर काम करता है। और ;बीच में डालें । puts(
विल्क्स-

39
+1, बधाई हो, मुझे लगता है कि आपने इसे रद्द कर दिया है। मैंने एक साधारण परीक्षण हार्नेस लिखा, जिसमें आपके कोड के हर संभव-चार बदलाव को संकलित करने और चलाने की कोशिश की गई, और उनमें से हर एक ने या तो संकलन नहीं किया, दुर्घटनाग्रस्त या मुद्रित 2012! (मैं केवल सम्मिलन और प्रतिस्थापन परीक्षणों के लिए मुद्रण योग्य ASCII वर्णों का उपयोग करता था, लेकिन मुझे संदेह है कि प्रदर्शनों के विस्तार में मदद मिलेगी।)
इल्मरी करोनन

3
@ इल्मारिकारोन: हे, यह बहुत प्रयास है; उस सब से गुजरने के लिए धन्यवाद। :)
विल्हेम टटलैंड

1
@ टिट्स: यदि आप का मतलब है कि टर्नरी में स्विच ==करना !=, जो आपको कहीं नहीं मिलता है; aआउटपुट के बजाय अब यह आउटपुट देता है "2012"
विलीहम टटलैंड

38

हास्केल, 19

(\xx@2012->xx)$2012

या, एक पूर्ण कार्यक्रम के रूप में,

29

main=print$(\xx@2012->xx)2012


थोड़ा और मज़े के लिए:

(\l@(_:_:t:[])->t:l)['0'..'2']


एक को प्राप्त करने के लिए इस तरह से संशोधित नहीं किया जा सकता है कि केवल एक रनटाइम त्रुटि उत्पन्न होती है, हम जानकारी को उन सूचियों की लंबाई में सांकेतिक शब्दों में बदलना कर सकते हैं जिन्हें केवल एक-वर्ण-परिवर्तन का उपयोग करके संशोधित नहीं किया जा सकता है, अर्थात

map(head.show.length)[[(),()],[],[()],[(),()]]

इसे और अधिक परिवर्तनीय (सुरक्षित रूप से) बनाने के लिए, हम संख्या को सूची तत्व के रूप में भी उपयोग कर सकते हैं - बस इसे प्लस के लिए अल्पविरामों के आदान-प्रदान को रोकने के लिए तार बनाने की आवश्यकता है: '

map(head.show.length)[["2012","2012"],[],["2012"],["2012","2012"]]

जैसा कि यह स्ट्रिंग सिर्फ अभिव्यक्ति का परिणाम है, हम इसे फिर से प्रतिस्थापित कर सकते हैं - हास्केल के आभार के लिए एक समस्या नहीं है

64 72

a=map(head.show.length.init)[[a,a,a],[a],[a,a],[a,a,a]]
main=putStrLn a

यहाँ init"शून्य से एक, लेकिन गैर-नकारात्मक" के रूप में कार्य किया जाता है।


हम अतिरेक योजना में प्रकार प्रणाली को भी शामिल कर सकते हैं और फिर संख्या को इस तरह से लिख सकते हैं जिसे एक-वर्ण परिवर्तन के साथ संशोधित किया जा सकता है ...

u :: Enum a => (a,[b])->(a,b)
u(a,[b]) = (succ a , b)
p :: (a,b)->(a,[b])
p(a,b) = (a,[b])

ι :: (Int,())           -- Integral type to make sure you can't make it 0/0
ι = (\n -> (n-n,()))0

twothousandandtwelve = map(head.show.fst) [ u.p.u.p$ι , ι , u.p$ι , u.p.u.p$ι ]

(( GHCi> twothousandandtwelve> "2012")

अब आप किसी uको भी pइसके विपरीत में बदल सकते हैं , लेकिन यह हमेशा दूसरे टपल तत्व में सूची स्टैकिंग की गहराई को गड़बड़ करेगा और इस तरह एक संकलन-समय त्रुटि को ट्रिगर करेगा।

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


और फिर भी एक और ...

main = print N2012
data Counter = Τv |Πy |Υj |Cε |Ho |Φϑ |Ωm |Sg |Πl |Pt |Yϑ |Γσ |Km |Φz |Εα |Av |Ζρ |Ηρ |Εv |Κs |Rζ |Γϑ |Οc |Dι |Rυ |Λd |Bγ |Wt |Xε |Ωη |Ιa |Hζ |Ed |Qj |Wπ |Κw |Qu |Γο |Oι |Mσ |Ωκ |Yg |Kυ |Aj |Du |Λζ |Nζ |Θτ |Pε |Yf |Βa |Τγ |Qx |Jη |Pδ |Iq |Ωn |Fv |Kl |Ψη |Δj |Θσ |Hd |Θq |Υs |Ht |Fρ |Jh |Lζ |Hμ |Υι |Ρζ |Ρv |Dυ |Wo |Iχ |Iζ |Γy |Kr |Sσ |Iμ |Μο |Xw |Εμ |Cσ |Yξ |Aq |Jf |Hσ |Oq |Hq |Nυ |Lo |Jκ |Ρz |Οk |Θi |Θα |Αη |Gh |Lξ |Jm |Ων |Zu |Μc |Qη |Κγ |Αψ |Χζ |Hρ |Γρ |Uϑ |Rj |Χγ |Rw |Mω |Πζ |Θρ |Ωd |Υh |Nt |Tη |Qψ |Θω |Εχ |Iw |Σx |Ηn |Mτ |Xt |Yx |Φε |Hh |Wη |Mf |Ψχ |Νγ |Βξ |Aϑ |Qp |Τϑ |Φm |Uy |Gy |Cd |Bχ |Λl |Οτ |Εa |Df |Li |Aι |Yi |Νκ |Vc |Γx |Φρ |Φp |Nξ |Kf |Tw |Λξ |Φn |Λa |Oψ |Υχ |Fψ |Xω |Τq |Οσ |Σj |Θψ |Το |Νr |Ιπ |Τi |Dτ |Φf |Μn |Χm |Ηε |Wa |Αχ |Uδ |Λf |Ρu |Qk |Wα |Uρ |Τζ |Lg |Qy |Τν |Jϑ |Βδ |Mε |Μι |Πβ |Bη |Eκ |Κz |Ηh |Fδ |Σp |Εγ |Qφ |Μτ |Νχ |Ψν |Pw |Χz |Εϑ |We |Nπ |Tυ |Wg |Bh |Tρ |Ζν |Λm |Ag |Dσ |Πι
                |Oη |Nν |Χl |Χp |Sξ |Πt |Οϑ |Wο |Yη |Cp |Tm |Ξs |Εβ |Ιb |Ρρ |Fs |Um |Ep |Jλ |Rρ |Ρξ |Ua |Οq |Γξ |Zη |Nη |Qτ |Nc |Ez |Xσ |Yφ |Ρy |Yε |Ετ |Φκ |Λω |Ωα |Μκ |Φw |Mt |Tk |Sf |Ηξ |Οb |Νπ |Κε |Mι |Kz |Vi |Ξx |Ψs |Αο |Qδ |Kt |Aσ |Οm |Ψδ |Λγ |Ακ |Hα |Wϑ |Τμ |Γγ |Jδ |Ικ |Ηϑ |Μp |Zo |Κn |Qz |Δe |Pe |Jο |Qι |Tu |Jν |Ξμ |Πω |Αm |Θw |Nε |Dy |Zξ |Υα |Dβ |Hο |Χv |Gr |Ωl |Jb |Σl |Vζ |Ξ  |Nx |Qs |Βh |Qg |Νx |Co |Rσ |Νυ |Χg |Ρt |Wy |Ηκ |Οa |Yμ |Uj |Uξ |Op |Μr |Ζα |Ξw |Mυ |Ar |Ργ |Zζ |Sv |Vy |Βo |Κι |Vϑ |Ξι |Uζ |Fμ |Su |Ιξ |Fϑ |Hi |Hw |Mv |Χχ |Θg |Sν |Pp |Mπ |Pk |Bκ |Lυ |Ρλ |Ιr |Uλ |Νo |Κο |Nh |Lε |Sw |Ξλ |Zυ |Mr |Bv |Κπ |Aγ |Dv |Pd |Ξσ |Μg |Oπ |Χξ |Nj |Kψ |Ξπ |Mκ |Gn |Ωe |Gγ |Pν |Yz |Nl |Οο |Ic |Pz |Ξf |Νω |Υμ |Ηq |Nw |Θm |Μx |Jε |Φy |Οz |Ξz |Ti |Οψ |Φγ |Tψ |Oγ |Zϑ |Ιk |Σw |Rf |Υi |Ωp |Vr |Υτ |Xl |Οβ |Πb |Δν |Οu |Jα |Ττ |Κl |Pf |Iκ |Gk |Πe |Σu |Δβ |Ωh |Nλ |Ξt |My |Πs |Βr |Mγ |Δω |Le |Zρ |Θv |Σs |Ηd |
               Bn |Κu |Δξ |Pτ |Ηα |Δu |Πμ |Ρh |Bω |Τλ |Gt |Αρ |Sh |Aο |Θδ |Δπ |Wq |Tφ |Γo |Γf |Λβ |Xυ |Mη |Δw |Qυ |Vν |Βτ |Γα |Μm |Μπ |Κζ |Θd |Fε |Ρτ |Οn |Αs |Wu |Ξh |Μz |Αν |Aε |Yq |Τε |Cz |Ωu |Ec |Ds |Wρ |Θϑ |Κp |Τδ |Mδ |Ηy |Go |Sb |Rξ |Σϑ |Yο |Jg |Vh |Kσ |Nδ |Ηψ |Γh |Rk |Eο |Μk |Ζk |Ψο |Ψμ |Zσ |Pβ |Ρd |Us |Hυ |Βi |Mχ |Σr |Βι |Sχ |Zγ |Δα |Sτ |Γp |Ns |Sn |Νn |Pξ |Νa |Sω |Σi |Τφ |Xο |Eδ |Ba |To |Vj |Sl |Κκ |Δh |Τχ |Gυ |Ρϑ |Bs |Dh |Μσ |Vd |Iϑ |Kg |Νμ |Dμ |Σγ |Πg |Γg |Εt |Fa |Ψn |Ρx |Αj |Mβ |Kλ |Ξψ |Fω |Qζ |Θj |Kπ |Gf |Oe |Yυ |Κk |Wω |Bδ |Lο |Cβ |Nf |Ol |Σo |Fn |Τβ |Βω |Dn |Ha |Πλ |Ss |Σy |Kϑ |Lp |Dδ |Dψ |Ωo |Xγ |Χk |Ωσ |Δa |Sκ |Jμ |Κt |Rc |Ηc |Lχ |Oε |Μλ |Cs |Il |Tι |Ra |Zα |Ωr |Ob |Wβ |Ον |Γν |St |Xλ |Kv |No |Rε |Kd |Mν |Np |Ωc |Δζ |Nβ |Zπ |Ok |Vι |Tδ |Vδ |Γz |Χα |Μs |Βυ |Xc |Xo |Vp |Γχ |Υf |Θπ |Πj |Pi |Γj |By |Φk |Υq |Ny |Rο |Γd |Ωj |Αy |Εo |Κy |Uc |Rm |Ph |Αδ |Ιl |Ιx |Δτ |Zt |Nq |Ct |Φi |Uv |Eπ
                |Κm |Rλ |Vu |Χσ |Τn |Μe |Φη |Ξβ |Εz |Σω |Bb |Ψε |Sε |Ρm |Δο |Vξ |Φo |Ωε |Zb |Σc |Dζ |Ξp |Rη |Ιψ |Δσ |Χη |Kj |Eμ |Qν |Ri |Ip |La |Νξ |Αγ |As |Nr |Δi |Oν |Ζx |Xκ |Pr |Ελ |Λb |Ψk |Ωβ |Pl |Ιy |Cμ |Ζc |Αg |Σρ |Dw |Ρq |Ιη |Pζ |Σa |Uq |Ρμ |Lω |Fh |Ζδ |Αd |Cψ |Κσ |It |Qκ |Fν |Αb |Ηg |Ιν |Ls |Jr |Ow |Je |Zx |Ld |Jl |Ζd |Μo |Χτ |Kα |Μβ |Mo |Σλ |Xρ |Μq |Ψb |Νd |Ρβ |Wδ |Μf |Κρ |Ηb |Ξτ |Qα |Λv |Zψ |Φt |Sδ |Εh |Rκ |Rμ |Χι |Κυ |Ηj |Pχ |Pη |Jσ |Ρσ |Ιχ |Kζ |Εδ |Nω |Iψ |Γμ |Vσ |Ψρ |Χυ |Αw |Kn |Al |Gj |Zj |Αc |Aζ |Ζi |Bz |Vπ |Πw |Αu |Qf |Bf |Ξo |Ρε |Λy |En |Ey |Wi |Σχ |Τc |Dχ |Fg |Ρo |Zm |Ψω |Fq |Μa |Ηt |Wc |Kε |Κτ |Χψ |Κβ |Λφ |Κq |Υm |Πx |Pj |Mi |Δy |Κχ |Lϑ |Wτ |Lη |Nd |Ωk |Iπ |Tα |Bο |Uε |Lc |Rp |Θx |Ρη |Lu |Μζ |Εd |Gρ |Χμ |Vγ |Ιζ |Πυ |El |Uk |Hc |Ξξ |Λx |Ιο |Μy |Ζm |Jw |Iε |Σφ |Αk |Σf |Ac |Ab |Αq |Δf |Θκ |Υa |Ζτ |Jc |Xμ |Sι |Κv |Ζj |Ει |Oω |Ηδ |Φv |Dα |Fτ |Ko |Et |Ψζ |Jx |Mk |Th |Βλ |Λχ |Οo |Υπ |
               Cζ |Θy |Λk |Γδ |Iυ |Σξ |Υϑ |Cι |Cχ |Εσ |Βψ |Iα |Τη |Eυ |Lφ |Lδ |Υw |Ξο |Uσ |Δb |Nϑ |Ζγ |Δz |Cο |Mb |Ξy |Γυ |Εk |Αζ |Vα |Τυ |Ιω |Wυ |Cτ |Ιγ |Yω |Ωy |Ηp |Ψψ |Ah |Dq |Βv |Ιw |Ox |Ξv |Οζ |Tχ |Πψ |Qb |Rδ |Aψ |Zμ |Ζg |Ψφ |Nφ |Δρ |Χe |Vχ |Ηυ |Ml |Σσ |Ζμ |Sz |Πκ |Sγ |Kq |Dη |Υk |Dt |Ξe |Sc |Νs |Μv |Ev |Ji |Rχ |Xπ |Αo |Lμ |Gδ |Fσ |Λϑ |Λe |Σb |Id |Hb |Γι |Βz |Sβ |Tg |Ζο |Δk |Dl |Λσ |Κϑ |Aw |Uγ |Lx |Uψ |Hs |Ωχ |Δφ |Wσ |Π  |Εe |Ro |Λο |Ud |Fχ |Δψ |Νh |Θμ |Zd |Kb |Οδ |Ex |Να |Φσ |Φω |Pm |Λυ |Xq |Si |Σδ |Gα |Bu |Βw |Eχ |Ρι |Gβ |Vο |Yh |Σε |Χq |Hι |Re |Zχ |Ζp |Eρ |Ωγ |Bξ |Hδ |Oξ |Γc |Μγ |Wφ |Πη |Wj |Ιq |Γs |Πο |Κj |Un |Rι |Dφ |Τl |Ωz |Pμ |Wr |Gω |Gi |Εu |Σq |Ρl |Iν |Zy |Rb |Νk |Ky |Uκ |Ησ |Hy |Ir |Tp |Εc |Bw |Εο |Cm |Εw |Ψf |Yχ |Ιρ |Hβ |Ιz |Vλ |Εj |Oδ |Qρ |Θν |Aρ |Ov |Zω |Gψ |Ij |Ξη |Ps |Φh |Οg |Dp |Ta |Ty |Οe |Uο |Rγ |Οr |Θp |Hλ |Νι |Vk |Νz |Tl |Ψi |Λs |Hη |Ζκ |Rz |Hx |Fξ |Ξn |Φe |Sπ |Ηw |Dκ |Ζω
                |Sr |Vψ |Ντ |Vω |Lv |Νg |Fκ |Jψ |Ζs |Oβ |Υζ |Δg |Fυ |Yκ |Χd |Zf |Φμ |Lt |Ξd |Oφ |Τp |Κh |Ψx |Vυ |Qπ |Θφ |Nψ |Ρχ |Rx |Υz |Ξκ |Ξχ |Qn |Pu |Υψ |Az |Xj |Σd |Φξ |Ws |Xα |Βm |Βf |Lh |Hv |Aω |Hν |Kχ |Ρψ |Aδ |Χx |Sη |Φx |Cκ |Jz |Dr |Xu |Ηζ |Ξζ |Gτ |Ca |Af |Aν |Bι |Mc |Ψg |Ωv |Ωs |Qω |Mψ |Lλ |Μα |Kμ |Vl |Yσ |Οι |Ve |Dν |Eg |Ιυ |Xι |Zν |Xϑ |Νζ |Ni |Sφ |Se |Ζa |Xδ |Νv |Wι |Jv |Jt |Ιh |Υv |Cη |Τd |Ψι |Τu |Ge |Πc |Bυ |Mϑ |Χλ |Δλ |Σψ |Μϑ |Απ |Vg |Κα |Sψ |Ζz |Λδ |Aκ |Λκ |Ga |Κb |Db |Jo |Τa |Fw |Τs |Βϑ |Eτ |Wk |Ξu |Ψl |Αι |Νψ |Δι |Qμ |Υn |Bτ |Ηs |Yw |Ye |Iο |Dο |Γe |Rβ |Qv |Xs |Ηη |Yo |Χj |Dω |Οπ |Uβ |Mλ |Qh |Fο |Βd |Ζr |Οv |Zφ |Αi |Dλ |Pb |Οx |Rv |Uz |Εν |Ψτ |Na |Aη |Βu |Ιd |Ηm |Υd |Wn |Qσ |Οp |Αr |Ηλ |Σι |Br |Cu |Ωζ |Θγ |Qo |Bρ |Bψ |Zβ |Πφ |Ρκ |Qϑ |Bj |Vε |Zz |Ζϑ |Za |Θt |Τψ |Ρο |Jq |Πf |Jφ |Τα |Xχ |Χn |Vo |Αt |Bg |Gs |Bi |Rϑ |Nι |Ρa |Υr |Υν |Λo |Γφ |Δo |Yρ |Χc |Ξα |Gq |Γm |Ωμ |Ζυ |Wζ |At |Mw |
               Cf |Επ |Fo |Οh |Tσ |Ηv |Sα |Ζq |Dk |Jπ |Ιm |Mj |Oi |Ψa |Qγ |Rn |Dξ |De |Γk |Ψm |Lα |Cl |Θο |Γq |Λc |Tx |Nm |Ki |Υο |Χr |Φs |Κi |Φλ |Vq |Αω |Ch |Tμ |Xb |Ζπ |Ym |Ζn |Eω |Ξj |Υκ |Τg |Uo |Ai |Sy |Τe |Ητ |Tτ |Λg |Bp |Δq |Χo |Pπ |Dγ |Δγ |Yπ |Ys |Ωδ |Ψσ |Sζ |Πξ |Rφ |Hj |Uf |Td |Ξk |Xψ |Οj |Cx |Φπ |Gλ |Φδ |Ej |Yψ |Ae |Φφ |Jγ |Qχ |Ξγ |Δp |Σg |Is |Eσ |Λπ |Cδ |Ιe |Cυ |Oh |Hm |Tb |Qi |Οl |Bε |Eψ |Hn |Ja |Σν |Γr |Ηu |Ζξ |Ζb |Nu |Θξ |Κd |Qο |Lq |Λw |Ηf |Kξ |Ευ |Rr |Τm |Εξ |Ψp |Χh |Ξi |Fπ |Μφ |Fu |Cξ |Aα |Pγ |Sk |Cω |Ηr |Αp |Ββ |Bx |Fp |Tζ |Pω |Λp |Lm |Jp |Bl |Φc |Vf |Τz |Εy |Λμ |Rd |Νf |Πρ |Ηx |Μψ |Γη |Bα |Συ |Iσ |Γt |Κξ |Io |Ζφ |Γl |Θf |Γλ |Υγ |Ψh |Xg |Tn |Iu |Bφ |Πχ |Λq |Χπ |Bϑ |Εm |Κφ |Λt |Ιu |Ρs |Ιβ |Ωg |Yν |Lσ |Ζι |Eι |Aτ |Φa |Pα |Θz |Ψκ |Θs |Θη |Ηl |Φζ |Bt |Ρυ |On |Ξε |Tf |Gp |Mα |Μi |Kβ |Σο |Ωξ |Νl |Iz |Fk |Dj |Bπ |Nz |Xr |Mp |Χω |Sϑ |Hu |Αμ |Js |Βn |If |Τw |Ηz |Σz |Po |Yj |Ημ |Yβ |Σm |Do
                |Ηχ |Κg |Θo |Ζh |Ψj |Ψu |Ωφ |Δμ |Γa |Bν |Ιε |Oz |Νq |Υp |Qλ |Υc |Υy |Kc |Kh |Ew |Wγ |Νβ |Ωλ |Οξ |Zι |Yr |Sυ |Γπ |Bm |Μj |Pa |Os |Χδ |Κδ |Εx |Iγ |Eη |Fλ |Tγ |Yλ |Hξ |Φq |Τξ |Ql |Δn |Zn |Ot |Sa |Φψ |Nμ |Ξr |Ξc |Φj |Gl |Oλ |Rπ |Am |Mο |Gx |Fd |Cg |Χu |Lι |Wv |Ζt |Jυ |Pσ |Σκ |Wκ |Pv |Ιg |Ωι |Δx |Φl |Eb |Δυ |Cr |Nχ |Ογ |Νφ |Gu |Ασ |Λi |Rτ |Eh |Xη |Md |Wm |Tt |Πα |Υe |Βk |Ju |Dρ |Χβ |Οs |Γi |Kι |Κe |Mm |Χf |Oκ |Vb |Γβ |Οy |Vv |Νϑ |Hl |Λα |Wξ |Om |Βφ |Ρp |Φβ |Βb |Αυ |Υδ |Χφ |Pλ |Νρ |Υλ |Ul |Kγ |Qc |Νm |Πz |Hφ |Es |Ψπ |Xm |Xξ |Tν |Eλ |Ao |Ak |Ka |Ζη |Xk |Γψ |Βπ |Fβ |Βρ |Xx |Βζ |Iτ |Pϑ |Εb |Ψγ |Τk |Gm |Yn |Xν |Νu |Hϑ |Εr |Τπ |Uw |Mh |Og |Μυ |Tj |Λν |Qm |Xn |Ην |Νi |Kη |Zv |Ιι |Ση |Yk |Dx |Aχ |Ou |Fy |Cα |Θl |Γκ |Ax |Vκ |Cn |Cλ |Ξϑ |Wε |Υl |Ψt |Ωa |Θe |Ξω |Ηo |Ll |Bζ |Kw |Αβ |Δc |Oυ |Βj |Jβ |Νε |Eϑ |Ξg |Tz |Cc |Ry |Sρ |Ψz |Yα |Pq |Υg |Jn |Vμ |Σk |Ck |Ωt |Zg |Pι |Hω |Λλ |Aμ |Wλ |Ιλ |Βc |Ξa |
               Jk |Πϑ |Ιt |Εψ |Hε |Ωϑ |Εη |Ie |Κω |Yc |Iβ |Ου |Hg |Θr |Nn |Uμ |Ζv |Ζχ |Jρ |Pο |Ng |Be |Δv |Fζ |Ρe |Qe |Cq |Κf |Θλ |Tϑ |Ξq |Me |Βq |Oα |Θc |Qr |Δt |Dm |Yu |Ru |Σh |Λr |Yy |Εε |Μχ |Mφ |Δδ |Kφ |Cγ |Ζσ |Iω |Au |Wb |Κc |Πq |Ωω |Pυ |Γn |Nγ |Cv |Βχ |Φg |Gο |Ug |Kο |Βκ |Wμ |Hτ |Hχ |Ue |Οw |Sμ |Sm |Υω |Yb |Χa |Ιi |Κν |Πu |Κψ |Uτ |Lβ |Fj |Pn |Εf |Τσ |Qε |Ψo |Λρ |Oϑ |Πν |Ts |Ηο |Μρ |Ff |Ψβ |Ne |Nκ |Bλ |Bσ |Mx |Πp |Υσ |Ιn |Αz |Fz |Ηa |Uν |Mζ |Δϑ |Yι |Ζe |Ψα |Tο |Βg |Lπ |Ζf |Αλ |Em |Θh |Gπ |Γω |Kω |Tξ |Σn |So |Im |Φυ |Ξb |Ii |Λι |Xz |Kδ |Μω |Uυ |Wf |Χb |Sλ |Lγ |Οη |Ιs |Xβ |Pκ |Bc |Ιp |Od |Αn |Va |Tω |Ζw |Ιτ |Θε |Ρi |Gι |Τh |Υx |Nτ |Δη |Εφ |Kx |Xa |Gν |Ft |Yt |Qd |Gσ |Ξυ |Εs |Nσ |Νc |Λj |Υu |Ρc |Ψξ |Δm |Qβ |Μu |Υb |Nk |Ωτ |Κr |Δd |Iλ |Πa |Ωρ |Χν |Μh |Jξ |Μμ |Fc |Iφ |Zr |Ux |Φb |Πo |Gd |Eζ |Αα |Νν |Λz |Vη |Pψ |Ωf |Lρ |Cb |Ν |Α |Χ |Ω |Zτ |Τκ |Αε |Bβ |Uι |Fi |Ui |Βx |Ωq |Βp |Λh |Uu |Ωw |Xp |Ζβ |Λτ
 | N2012 deriving(Enum); instance Show Counter where show = show . fromEnum

1
मुझे डर है कि यह संकलन अभी ठीक संशोधित है, हालांकि एक अपवाद रनटाइम पर फेंका गया है
जेफ बर्देस

3
@JeffBurdges: यकीन है, मैं इसे "में शामिल करने के लिए ले जाऊंगा और इससे दुर्घटना नहीं होगी"।
को चालू करना बंद कर दिया

1
के लिए a=map(head.show.length)[[a,a],[],[a],[a,a]]समाधान, सम्मिलित aके बीच []। मैं वास्तव में इस पोस्ट की तरह है, हालांकि! बहुत ही चतुर उपाय।
डिलन कवर

9
मैंने सत्यापित किया है कि आपके 29-चरित्र कार्यक्रम (ASCII वर्ण 32-126 को बदलने या सम्मिलित करने) के सभी 5825 रूपांतर अपेक्षित रूप से काम करते हैं। यहाँ परीक्षण स्क्रिप्ट का उपयोग किया गया है । इसे आसानी से अन्य भाषाओं सहित अन्य कार्यक्रमों का परीक्षण करने के लिए ट्वीक किया जा सकता है। चेतावनी: मेरे लैपटॉप पर चलने में लगभग 1 घंटा लगता है :)
हमार

1
[a]-> []64-चार समाधान में
जॉन ड्वोरक

14

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

मेरा मानना ​​है कि यह रनटाइम एरर प्रूफ है, किसी भी एक बदलाव का परिणाम या तो कंपाइल एरर होना चाहिए या 2012 का अलर्ट।

संपादित करें: कोड कुछ पर रनटाइम त्रुटि करेगा if("alert(2012 "==r), मैंने इससे निपटने के लिए प्रयास अनुभाग को स्थानांतरित किया।

संपादित करें: अच्छा एक Vilx-, लेकिन फिक्सेबल :-) अब उस अर्धविराम को डालने के लिए एक ब्रैकेट बेमेल है।

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

संपादित करें: थोड़ा सा सरलीकृत।

संपादित करें: Bugfixes की एक अनंत श्रृंखला में एक और।

संपादित करें: इस थोड़े अधिक लंबी और बुलेटप्रूफ से जटिल लगता है, लेकिन यह कम से कम का ध्यान रखना चाहिए ~evalऔर !eval

var q="alert(2012 "
var p=1
try{
    if("alert(2012 "==q){
        if(eval(((p=5,q+")")||alert(2012)))){
            if(p!==5){
                alert(2012)
            }
        }
    }
    else{
        alert(2012)
    }
}
catch(e){
    alert(2012)
}

1
क्योंकि उदाहरण q-")"रिटर्न के लिए NaN, जो "NaN"इसे विकसित करने से पहले बदल जाता है, जो बस इसे वापस बदल देता है NaN। अजीब बात है, लेकिन तकनीकी रूप से कानूनी है, ताकि पकड़ को लागू न करें।
आआआआआआआआआआ आआआआआ

4
सी समाधान के रूप में एक ही बात - एक के ;बीच evalऔर डालें (
विल्क्स-

1
टिप्पणी पाठकों के लिए, अर्धविराम भेद्यता तय है, मेरा मानना ​​है कि कोड अब साफ होना चाहिए।
आआआआआआ आआआआआ आआआआआ

4
सुनिश्चित नहीं है कि यह मायने रखता है या नहीं, लेकिन एक के बजाय दो बार गूंजने ~का evalकारण बनता है । निश्चित नहीं है कि अगर नियमों की अवहेलना है या नहीं: P2012
mellamokb

2
जोड़ने के !बाद eval(इसे तोड़ देता है।
jimmy23013

13

पर्ल, 49 चार्ट

  do{
use strict;$_=2012;;2012==$_&&0-print||die}

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

(प्रतिबंध के बिना, कार्य पर्ल में असंभव है: पर्ल पार्सर की एक अल्पज्ञात विशेषता यह है कि यह बंद हो जाता है जब यह एक Ctrl-D या एक Ctrl-Z चरित्र का सामना करता है, इसलिए किसी भी व्यक्ति के सामने किसी को भी सम्मिलित करता है यह एक वैध पर्ल प्रोग्राम में है जो कुछ भी नहीं करता है।)

संपादित करें: एक और चार के 1==printसाथ बदलकर मुंडा 0-print


पर्ल 5.28 के साथ ब्रेक जहां 1 :-Pprint'true'
JB

3
@ जेबी: ठीक है, आप ऐसा होने पर इसे डाउनवोट कर सकते हैं। :) (अन्य पाठकों के लाभ के लिए, यह एक मजाक है। जहां तक ​​मुझे पता है, printपर्ल 5 के किसी भी संस्करण में रिटर्न वैल्यू को बदलने की कोई योजना नहीं है , भले ही यह स्पष्ट रूप से प्रलेखित न हो ।)
इल्मरी करोनेंन

12

Brainfuck

मैं अपने आप को यह समझाने की कोशिश कर रहा हूं कि यह संभव है, और मुझे पूरा यकीन है कि मैंने इसे बहुत दूर खींच लिया होगा। मैंने अपने पर्यावरण के बारे में कुछ धारणाएँ बनाई हैं:

  1. अनंत लूप को 'क्रैश' माना जाता है। इसी तरह की स्थिति संभवतः अतीत के शून्य को घटाकर या कुछ दुभाषियों में स्मृति स्थान शून्य के बाईं ओर प्राप्त की जा सकती है। कई दुभाषियों को रनटाइम पर क्रैश करना मुश्किल होता है। मैं केवल सबसे सरल, सबसे स्पष्ट अनंत लूप का उपयोग करके रुकने की समस्या से बचता हूं।
  2. बेजोड़ वर्ग ब्रेसिज़ एक संकलित त्रुटि मानी जाती है।
  3. यह केवल ऐसे वातावरण में काम करेगा, जहां कार्यक्रम का आउटपुट अपने स्वयं के इनपुट पर वापस पाइप किया गया है। मैं इसका उपयोग यह सत्यापित करने के लिए करता हूं कि यह वास्तव में '2012' का आउटपुट था। यह एक ही तरीका है जिससे मैं लगभग एक ही आउटपुट कैरेक्टर को हटा सकता हूं।

दुर्भाग्य से, अगर आपको कोई सख्ती मिलती है तो मुझे डर है कि यह असंभव होगा। यहाँ मेरा समाधान है:

++++++++++++++++++++++++++++++++++++++++++++++++++
.--.+.+.
,--------------------------------------------------[]
,------------------------------------------------[]
,-------------------------------------------------[]
,--------------------------------------------------[]
,[]EOF = 0

मूल रूप से, आप आउटपुट कोड या सत्यापन कोड को बदल सकते हैं, लेकिन दोनों को नहीं। उनमें से एक को काम करने की गारंटी है। अगर उनमें से एक नहीं है तो यह 'दुर्घटना' होगा।


5
ऊ, ब्रेनफक! तुम बस, तुम नहीं थे? XD
विल्क्स-

8
क्या आप इसके बजाय व्हॉट्सएप का इस्तेमाल करना पसंद करेंगे?
NRGdallas

7

को Python2

import sys;xx='2012';(
1/(sys.stdout.write(xx=='2012' and xx or 2012)==None))

मुझे रे की टेस्ट स्क्रिप्ट को इस बात का परीक्षण करने के लिए थोड़ा बदलना पड़ा क्योंकि स्टडआउट अप्रत्यक्ष इसे तोड़ रहा था। खाली डक्ट्स को निष्पादित करने के लिए नाम स्थान को प्रदूषित करने से बचा जाता है

exec(prog, {}, {})

महान! आप इसे बनाओ!
रे

6

ब्रेन-आलोचना , 44 + 3 = 47 बाइट्स [गैर-प्रतिस्पर्धा]

यह ब्रेन-फ्लैक के -Aझंडे का उपयोग करता है और पात्रों 2012को STDOUT में आउटपुट करता है

((((((((()()()){}){}){}()){})[()])[()])()())

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

वैकल्पिक, 50 बाइट्स

(((((()()()()){}){}){}){})({({}[()])}{}[()()()()])

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

व्याख्या

ऊपर दिए गए किसी भी कोड में किसी भी एकल वर्ण संशोधन के कारण कार्यक्रम में त्रुटि होगी।


3
हा! चुनौती के लिए सही भाषा।
DLosc

4

सिसी , गैर-प्रतिस्पर्धी

अंत में मुझे लगता है कि मुझे मेरी एक भाषा मिली जो काम करती है। यह भयावह रूप से लंबा है, और भाषा सवाल की तुलना में नया है, लेकिन यह अभी भी एक उपलब्धि की तरह महसूस करता है।

1 set xx 2012
2 set y xx=2012
3 jumpif y 55
4 set xx 2012
828 set x xx
829 set ax xx
830 set xa xx
831 set axx xx
832 set xax xx
833 set xxa xx
834 set bx xx
835 set xb xx
836 set bxx xx
837 set xbx xx
838 set xxb xx
839 set cx xx
840 set xc xx
841 set cxx xx
842 set xcx xx
843 set xxc xx
844 set dx xx
845 set xd xx
846 set dxx xx
847 set xdx xx
848 set xxd xx
849 set ex xx
850 set xe xx
851 set exx xx
852 set xex xx
853 set xxe xx
854 set fx xx
855 set xf xx
856 set fxx xx
857 set xfx xx
858 set xxf xx
859 set gx xx
860 set xg xx
861 set gxx xx
862 set xgx xx
863 set xxg xx
864 set hx xx
865 set xh xx
866 set hxx xx
867 set xhx xx
868 set xxh xx
869 set ix xx
870 set xi xx
871 set ixx xx
872 set xix xx
873 set xxi xx
874 set jx xx
875 set xj xx
876 set jxx xx
877 set xjx xx
878 set xxj xx
879 set kx xx
880 set xk xx
881 set kxx xx
882 set xkx xx
883 set xxk xx
884 set lx xx
885 set xl xx
886 set lxx xx
887 set xlx xx
888 set xxl xx
889 set mx xx
890 set xm xx
891 set mxx xx
892 set xmx xx
893 set xxm xx
894 set nx xx
895 set xn xx
896 set nxx xx
897 set xnx xx
898 set xxn xx
899 set ox xx
900 set xo xx
901 set oxx xx
902 set xox xx
903 set xxo xx
904 set px xx
905 set xp xx
906 set pxx xx
907 set xpx xx
908 set xxp xx
909 set qx xx
910 set xq xx
911 set qxx xx
912 set xqx xx
913 set xxq xx
914 set rx xx
915 set xr xx
916 set rxx xx
917 set xrx xx
918 set xxr xx
919 set sx xx
920 set xs xx
921 set sxx xx
922 set xsx xx
923 set xxs xx
924 set tx xx
925 set xt xx
926 set txx xx
927 set xtx xx
928 set xxt xx
929 set ux xx
930 set xu xx
931 set uxx xx
932 set xux xx
933 set xxu xx
934 set vx xx
935 set xv xx
936 set vxx xx
937 set xvx xx
938 set xxv xx
939 set wx xx
940 set xw xx
941 set wxx xx
942 set xwx xx
943 set xxw xx
944 set yx xx
945 set xy xx
946 set yxx xx
947 set xyx xx
948 set xxy xx
949 set zx xx
950 set xz xx
951 set zxx xx
952 set xzx xx
953 set xxz xx
954 set xxx xx
955 print xx

Sisi के बारे में

Sisi विधानसभा और QBasic से प्रेरित एक खिलौना भाषा है। यह इस चुनौती के लिए अच्छा है क्योंकि इसका सिंटैक्स बेहद सीमित है।

  • यह केवल चार कमांड है: set, print, jump, औरjumpif
  • सभी आदेशों में निश्चितता है।
  • सभी लाइनों में लाइन नंबर होने चाहिए, जो सख्ती से बढ़ रहे हैं।
  • अभिव्यक्ति केवल setबयानों में दी जाती है । उनमें केवल (अधिकतम) एक ही ऑपरेशन हो सकता है, जो बाइनरी होना चाहिए। विशेष रूप से: बदलने के print xxलिए print -xxएक वाक्यविन्यास त्रुटि है।
  • चर नाम लोअरकेस अक्षरों से बना होना चाहिए।
  • सबसे महत्वपूर्ण: कोई टिप्पणी वाक्य रचना नहीं है !

कार्यक्रम

कार्यक्रम का मुख्य भाग यह है:

1 set xx 2012
2 set y xx=2012
3 jumpif y 55
4 set xx 2012
955 print xx

हम स्टोर करते 2012हैं xx, फिर परीक्षण करते हैं कि क्या यह सफल था और परीक्षण के परिणाम को स्टोर करें y। यदि yसत्य है, तो लाइन 55 पर कूदें। (जंप टू नोक्सेंटिव लाइन नंबर बस फास्ट-फॉरवर्ड टू द अगली लाइन)।

विकिरण सख्त

  • यदि पंक्ति 1 में असाइनमेंट संशोधित किया गया है, तो yयह गलत है, छलांग नहीं होती है, और पंक्ति 4 सेट होती हैxx 2012 तक।
  • यदि लाइन 2 में असाइनमेंट या लाइन 3 में जंप कंडीशन को संशोधित किया गया है, तो हमें परवाह नहीं है: xx2012 में सेट हो जाएगा कि हम जंप लेते हैं या नहीं।
  • लाइन 3 में कूदने के लक्ष्य को 5 के रूप में छोटा या print955 के रूप में बड़ा किया जा सकता है। किसी भी संभावित संशोधन को ऑन लाइन 955 या इसके बाद प्राप्त किया जा सकता है। यह एक संशोधन के साथ पीछे की ओर कूदने (लूप बनाने) या कार्यक्रम के अंत में संभव नहीं है।
  • यदि पंक्ति 4 में असाइनमेंट संशोधित है, तो हमें परवाह नहीं है: पंक्ति 1 का असाइनमेंट सही होगा और हम पिछली पंक्ति 4 को कूदेंगे।
  • यदि लाइन 955 को संशोधित किया जाता है, तो हमें समस्या हो सकती है। Sisi के बारे में एक दुर्भाग्यपूर्ण बात यह है कि अनइंस्टॉल किए गए वैरिएबल डिफ़ॉल्ट रूप से होते हैं 0, इसलिए एक संशोधन print axएक त्रुटि नहीं है। बदसूरत लेकिन प्रभावी समाधान 828-954 है, जो 1 से संपादित दूरी के साथ हर संभव चर को 2012 प्रदान करता है xx। यह सुनिश्चित करता है कि फाइनल में कोई संशोधन होprint xx अभी भी 2012 को प्रिंट करेगा।
  • यदि एक पंक्ति संख्या को संशोधित किया जाता है, या तो: 1) यह क्रम से बाहर हो जाएगा और एक सिंटैक्स त्रुटि होगी, या 2) यह प्रोग्राम प्रवाह को प्रभावित नहीं करेगा। मुख्य संशोधन के बारे में हम चिंतित हो सकते हैं - लाइन 4 से 94 को बदलना, जिससे 55 की छलांग के बाद इसे सम्मिलित करना - कोई फर्क नहीं पड़ता क्योंकि यह सब 2012 को xxफिर से असाइन किया गया है।

अच्छा था! मैं इसे दरकिनार करने का तरीका नहीं सोच सकता। "ए" मेरे लिए प्रयास से, यह सुनिश्चित करने के लिए है! :)
विल्क्स-

3

अजगर

थोड़ा वर्बोज़ (अब उस pesky अर्धविराम के बीच printऔर (!) के लिए एक फिक्स के साथ ।

a=[0]
(lambda x:print(
set(['2012']).intersection(set(["2012"])).pop()))(
*a)

@ जेफ़ बर्देज़: हाँ, इस एक के साथ मैं रनटाइम त्रुटियों पर बैंकिंग कर रहा हूँ और साथ ही अस्वीकृत हो रहा है। :)
डिलन कवर

मुझे डर है कि यह अभी भी कर रहा हूँ वाक्य रचना सही अगर चौराहे खाली सेट पैदावार और पॉप एक फेंकता क्रम त्रुटि। दोनों पक्षों पर अधिक 2012 जोड़ें।
जेफ बर्देज

@ डीडीसी: मैं कहूंगा कि एक अपवाद रनटाइम त्रुटि के समान नहीं है, हालांकि ऐसा लगता है कि अपवाद पायथन में त्रुटियों को कहा जाता है। pop()खाली सेट आईएनजी अपने आप में एक त्रुटि नहीं है, लेकिन यह एक 'त्रुटि' बढ़ाता है।
विलीहम टटलैंड

1
अपवाद तब पकड़ा जाता है जब वह पकड़ा नहीं जाता है।
इल्मरी करोनें

1
popआउटपुट के बाद अल्पविराम सम्मिलित करना<built-in method pop of set object at 0xb6fe93ac> ()
gnibbler

3

टी-एसक्यूएल 2012, 55

DECLARE @n CHAR(4)='2012'PRINT IIF(@n='2012',@n,'2012')

यह कौन सी बोली है? ट्रांसेक्ट-एसक्यूएल (उर्फ एसक्यूएल सर्वर) जैसा दिखता है, लेकिन इसके लिए अमान्य सिंटैक्स है।
विल्क्स-

@ विलक्स-: जब मैंने इसे तोड़ने की कोशिश की, तब मैंने इसे स्वयं SQL Server 2008 में परीक्षण किया, और यह ठीक काम कर गया।
मेलमोकब

@ मल्लमोकब - यह अजीब है। यह वास्तव में मैंने क्या किया है, और यह शिकायत की है कि आप चर के लिए एक डिफ़ॉल्ट मान असाइन नहीं कर सकते हैं (आपको एक अलग सेट स्टेटमेंट की आवश्यकता है), और कोई आईआईएफ (केवल मामला) नहीं है।
विल्क्स-

1
@ विलक्स-: आह, आप सही हैं। मुझे एहसास हुआ कि अब मैं वास्तव में SQL Azure पर परीक्षण कर रहा था। SQL Server 2008 के साथ मुझे आपके समान ही त्रुटियां मिलती हैं। हालाँकि, यह SQL Server 2012 / Azure में ठीक काम करता है। यहां SQL 2012 के साथ एक डेमो दिया गया है: sqlfiddle.com/# -6
d41d8

ठीक है, बधाई हो, मुझे इसे तोड़ने का कोई स्पष्ट तरीका नहीं मिला! :) यह कहना नहीं है कि कोई भी नहीं है। ;)
विल्क्स-

3

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

यहाँ जज स्क्रिप्ट है।

from StringIO import StringIO
import sys

def run(prog, atexp=True):
    stdout = sys.stdout
    fakeOut = StringIO()
    try:
        sys.stdout = fakeOut
        # exec prog # running exec directly will break some solutions by mistake
        exec(prog, {}, {}) 
        return fakeOut.getvalue().rstrip() == '2012'
    except:
        return atexp
    finally:
        sys.stdout = stdout
    return True

def judge(prog):
    RED = '\x1b[31m'
    WHITE = '\x1b[37m'
    ans = True
    chars = """abcdefghijklmnopqABCDEFGHIJKLMNOP`~1234567890!@#$%^&*()_+-=[]{};:'"<>,./?"""
    # attack by replace
    if not run(prog):
        print "Are you joking...This program don't print 2012 itself."
        return False
    p = list(prog)
    for i in xrange(len(prog)):
        for c in chars:
            p[i] = c
            r = run(''.join(p))
            if not r:
                print 'Attack by replace success'
                print 'origin:\n'+prog
                print 'modified:\n'+''.join(p[:i])+RED+c+WHITE+''.join(p[i+1:])
                ans = False
        p[i] = prog[i]
    # attack by delete
    for i in xrange(len(prog)):
        p = prog[:i]+prog[i+1:]
        r = run(''.join(p))
        if not r:
            print 'Attack by delete success'
            print 'origin:\n'+prog
            print 'modified:\n'+''.join(p[:i])+RED+'{|}'+WHITE+''.join(p[i:])
            ans = False
    # attack by insert
    for i in xrange(len(prog)+1):
        p = list(prog)
        p.insert(i, ' ')
        for c in chars:
            p[i] = c
            r = run(''.join(p))
            if not r:
                print 'Attack by insert success'
                print 'origin:\n'+prog
                print 'modified:\n'+''.join(p[:i])+RED+c+WHITE+''.join(p[i+1:])
                ans = False
    if ans: 
        print 'Amazing! judgement passed'
    return ans

p1="""xx='2012'
print(xx if xx=='2012' else
'2012')
"""
p2="""import sys
a=[0]
(lambda x:sys.stdout.write(
set(['2012']).intersection(set(["2012"])).pop()))(
*a)
"""

p3="""print sorted(['2012',
'2012','2012']).__getitem__(1)
"""
p4="""print 2012
"""
judge(p3) 

ठंडा! मेरा जवाब एक ही समय में बेकार है और चल रहा है
gnibbler

p2हमेशा पायथन 2 के लिए एक अपवाद फेंकता है। आउटपुट कभी 2012 नहीं है । आपका जज प्रोग्राम पायथन 3 के तहत नहीं चलेगा क्योंकि यह प्रिंट स्टेटमेंट का उपयोग करता है।
22

@gnibbler मैंने नहीं देखा है कि p2अजगर 3 में है
रे

मैंने Python2 के लिए एक नया उत्तर दिया है जो आपकी स्क्रिप्ट को पास करता है
gnibbler 23

3

गणितज्ञ, 23 वर्ण

ध्यान दें: "/।" का अर्थ है "बदलें"

2012/.Except@2012->2012

2
यह एक कमजोर जवाब / हार की तरह हो सकता है, लेकिन बदलने /.के लिए //(पोस्टफ़िक्स फार्म)।
डिलन कॉवर

@ डिलनकवर अच्छा कैच!
डॉ। बेलीजरियस

2

जावास्क्रिप्ट - 68, 77, 84 , 80 वर्ण

यहाँ एक समाधान है जो इस साल काम करना चाहिए :)

a="eval(alert(new Date().getFullYear()))" 
a.length==37?eval(a||a||a):alert(2012)

यहाँ परीक्षण बेला है

अपडेट 1: फिक्स्ड मुद्दा जहां eval (+ a) ने इसे तोड़ दिया (धन्यवाद ईज़ीनेस)।

अपडेट 2: '|' के लिए निश्चित मामला (फिर से eBusiness धन्यवाद)।

अद्यतन 3: '>' मामले के लिए निश्चित (फिर से eBusiness धन्यवाद)। और '1' मामले के लिए टूट गया :(


आप अपने निष्कासन की रक्षा नहीं करते थे। eval(+a)और बहुत सारे अन्य संशोधन पूरी तरह से ठीक चलते हैं, लेकिन पूरी तरह से नहीं करते हैं।
आआआआआआआआआआआ आआआआआ

@eBusiness: eval(+a)मामले को इंगित करने के लिए धन्यवाद , जिसे अब ठीक किया जाना चाहिए। इसके अलावा, मैं उन संशोधन मामलों में से एक को खोजने में असमर्थ रहा हूं जहां यह ठीक चलता है, लेकिन 2012 का उत्पादन नहीं करता है, इसलिए क्या आप मुझे एक उदाहरण देंगे?
Briguy37

eval(0)और eval(-a)उदाहरण के लिए एक ही बात करता है।
आआआआआआआआआआआ आआआआआ

पोस्ट संपादित करें यह कम से कम जगह से तोड़ा जा सकता है ||के साथ |
आआआआआआआआआआ आआआआआ

5
यदि आप पहली बार बदलते हैं तो टूट alertजाता है aler=
jimmy23013

2

रूबी 1.9 - 43 चार्ट

qq=[:p,2012]
b if qq!=[:p,2012]
send(
*qq)

परीक्षित नहीं है, इसलिए टूट जाते हैं।


2

एक्सेल, 14 अक्षर (थोड़ा धोखा):

{=2012} (in a 2x1 array with one cell hidden)

सरणी में कोई भी मान्य परिवर्तन दोनों कोशिकाओं की सामग्री को प्रभावित करेगा, और सिर्फ एक सेल को बदलने का प्रयास एक त्रुटि संदेश को ट्रिगर करता है।

बेशक, यह टूट जाता है यदि आप यह देखते हैं कि यह वास्तव में केवल एक सूत्र है, जैसा कि 2 सूत्रों के विपरीत है जो समान होने के लिए विवश हैं।


2

जावा 7

class M{
  static String c(){
    String a = "2012",
           b = "2012";
    return a.equals(b)           // 1
            ? a                  // 2
            : a.equals("2012")   // 3
               ? a               // 4
               : b;              // 5
  }

  public static void main(String[]a){
    System.out.print(c());
  }
}

स्पष्टीकरण:

  1. कुछ भी बदले बिना यह निम्नलिखित पथ लेगा: 1 → 2 (और यह वापस आ जाएगा a)2012 ) का ।
  2. यदि स्ट्रिंग की सामग्री को aकिसी भी तरह से संशोधित किया जाता है, तो यह निम्न पथ लेगा: 1 → 3 → 5 (और यह bअपरिवर्तित मूल्य लौटाएगा 2012)।
  3. यदि स्ट्रिंग की सामग्री को bकिसी भी तरह से संशोधित किया जाता है, तो यह निम्न पथ लेगा: 1 → 3 → 4 (और यह aअपरिवर्तित मान लौटाएगा2012 )।
  4. यदि a.equals(b)@ 1 पर संशोधित किया गया है a.equals(a), b.equals(b)या !a.equals(b)यह अभी भी उसी पथ को ले जाएगा: 1 → 2 (और यह aअपरिवर्तित मान लौटाएगा2012 )।
  5. अगर a@ 2 पर bइसे बदल दिया जाता है, तब भी यह निम्नलिखित पथ लेगा: 1 → 2 (और यह bअपरिवर्तित मान लौटाएगा2012 )।
  6. या तो हैं aया bतर्ज पर विपरीत करने के लिए बदल गया है 3, 4 या 5 यह अभी भी निम्न पथ पर ले जाएगा: 1 → 2 (और यह वापस आ जाएगी aकी की अपरिवर्तित मूल्य 2012)
  7. अगर @ 3 पर स्ट्रिंग की सामग्री को किसी भी तरह से संशोधित किया जाता है, तो भी यह निम्नलिखित पथ लेगा: 1 → 2 (और यह aअपरिवर्तित मान लौटाएगा 2012)
  8. बदलने Mमें class Mया aमें main(String[]a)एक और मान्य वर्ण के लिए कोड की कार्यक्षमता में कोई भी परिवर्तन के बिना किया जा सकता है।
  9. किसी अन्य परिवर्तन के परिणामस्वरूप एक संकलन-त्रुटि होगी (कुछ प्रवेशकों / व्हाट्सएप को छोड़कर, जिसे हटाया / जोड़ा जा सकता है)।

इन सभी संशोधनों को यहाँ देखें, सत्यापित करने के लिए कि वे अभी भी 2012 को प्रिंट करते हैं।

यदि आप इसे ओपी के नियमों का पालन करने के लिए तोड़ सकते हैं, तो मुझे यह जानना अच्छा लगेगा, इसलिए मैं इसे ठीक करने के लिए कुछ सोच सकता हूं।
अधिकांश समान प्रश्नों के विपरीत, जहां एक एकल चर को संशोधित किया जाता है, यह सवाल प्रोग्रामिंग भाषा की मूल संरचना को बरकरार रखने की अनुमति देता है, इसलिए जावा अंत में एक में प्रवेश कर सकता है (चलो इसका सामना करते हैं, जावा विल-परम-कभी भी कुछ भी नहीं जीतेंगे यह एसई xD) है।


पथ 4 से पहले एक नकारात्मक चिन्ह क्या डाला गया है a? क्या कार्यक्रम अभी भी 2012 का आउटपुट देगा, या यह आउटपुट -2012 करेगा?
गायों को

@KritiiLithos यह एक स्ट्रिंग है, इसलिए आप या -से पहले सम्मिलित नहीं कर सकते । यहाँ संकलन त्रुटि का एक स्क्रीनशॉट है। ab
केविन क्रूज़सेन

1

रूबी 1.9

puts (
rx=2012
)==2012?rx:2012.send(
:abs)

मैं इस छोटे लेकिन सरल कार्यक्रम का निर्माण करता हूं जिसे आपको उपरोक्त नियमों के अनुसार तोड़ने के लिए आमंत्रित किया जाता है। मैं ऐसी स्थिति भी नहीं ढूँढ सकता जहाँ आउटपुट को बदल दिया जाए (कोड को तोड़े बिना) यदि #बाकी पंक्ति को टिप्पणी करने के लिए इसमें डाला जाए।


डालता है (आर = 2012) == 2012? -r: 2012.send (: abs) प्रिंट्स "-2012"
जोहानिस

@ M.Joanis लेकिन आपको दो अतिरिक्त पात्रों की आवश्यकता है: एक अंतरिक्ष चरित्र और एक माइनस। अकेले माइनस नहीं चलेगा।
होवार्ड

आह, तुम सही हो! संकलन त्रुटि। मैं रूबी के बारे में कुछ नहीं जानता, मुझे और अधिक सावधान रहना चाहिए। माफ़ करना!
जोआनिस

1
एक वैध कार्यक्रम में परिणाम irbसे पहले माइनस जोड़ने के अनुसार , rxजो आउटपुट -2012...
कोनराड रूडोल्फ

2
रूबी 1.9 में आउटपुट के लिए इसे बदलने putsका putcकारण बनता है ?
हिस्टोक्रैट

1

स्कैला, 95

(या 54 अगर गैर-सार्थक भागों को छोड़ दें)

object Main{def main(ar:Array[String]){print(((s:String)=>if(s=="2012")s else"2012")("2012"))}}

मुझे डर है कि मैं किसी भी दोष को खोजने के लिए स्काला के बारे में पर्याप्त नहीं जानता। :( क्या अन्य लोग, कृपया, देख सकते हैं?
विल्क्स-

यह इस स्तर पर कठिन नहीं है। स्केला की अधिकांश कठोरता इसके प्रकार प्रणाली की जटिलता के कारण है (जिसे मैं अभी भी पूरी तरह से समझ नहीं पा रहा हूं: D)
सर्ज बोर्स्च

मुझे स्काला का पता नहीं है, लेकिन (...),("2012")लगता है कि इसे तोड़ दिया जाएगा।
jimmy23013

1

सी#

निश्चित रूप से इसकी यह सरल नहीं है, क्या यह है? ...

class program
{
    static void Main()
    {
        var result = "2012";

        if (result == "2012")
            Console.WriteLine(result);
        else
            Console.WriteLine("2012");
    }
}

ठीक है मुझे क्या याद है?


1
यदि आप 8 वीं पंक्ति को "Console.WriteLine (-result)"?
ग्लेन रैंडर्स-पीरसन

यहां कोई C # कंपाइलर नहीं है, लेकिन if (result += "2012")इसे आउटपुट करने के लिए लाइन 7 को नहीं बदलना चाहिए 20122012?
फिलिप

हम्म्म्म ... मैं उस के बारे में नहीं सोचा था ... ड्राइंग बोर्ड पर वापस
युद्ध

@Philipp - नहीं, यह संकलन नहीं होगा। आपको एक ifस्टेटमेंट के लिए एक मूल्य के रूप में बूलियन की आवश्यकता है , न कि स्ट्रिंग की।
विल्क्स-

6
एक जोड़ने के ;बाद elseयह दो बार आउटपुट बनाता है।
jimmy23013

1

PHP, 30

<?=$i=2012;$i==2012?$i:2012;?>

PPCG में आपका स्वागत है! अच्छी पहली पोस्ट! क्या आप एक स्पष्टीकरण भी जोड़ सकते हैं?
R

2
और यहां बताया गया है कि मैं इसे कैसे <?=$i=2012;$i==2012?-$i:2012;?>
हराऊंगा

@ विलक्स- अच्छा, मैंने इस बारे में नहीं सोचा था।
jsa

किसी एक-लाइन PHP समाधान के लिए एक लंगड़ा हार: पूरे कोड को एक टिप्पणी के <?#$i=2012;$i==2012?$i:2012;?>समाधान में डाल दें : उसके बाद एक नई प्रविष्टि डालें $i=2012
टाइटस

1

टैक्सी , 396 बाइट्स

2012 is waiting at Starchild Numerology.2012 is waiting at Starchild Numerology.Go to Starchild Numerology: w 1 r 3 l 2 l 3 l 2 r.Pickup a passenger going to Equal's Corner.Pickup a passenger going to Equal's Corner.Go to Equal's Corner: w 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery: n 3 r 1 r 1 r.Pickup a passenger going to Post Office.Go to Post Office: n 1 l 1 r.

मनुष्यों के लिए प्रारूपित:

2012 is waiting at Starchild Numerology.
2012 is waiting at Starchild Numerology.
Go to Starchild Numerology: w 1 r 3 l 2 l 3 l 2 r.
Pickup a passenger going to Equal's Corner.
Pickup a passenger going to Equal's Corner.
Go to Equal's Corner: w 1 l.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: n 3 r 1 r 1 r.
Pickup a passenger going to Post Office.
Go to Post Office: n 1 l 1 r.

अन्य उत्तरों को पढ़ने से, समाधान एक नाजुक भाषा चुनने, मान सेट करने, मूल्य की जांच करने, मूल्य प्रिंट करने के लिए लगता है।


1

SmileBASIC

OPTION STRICT
VAR A$=@2012
GOTO A$@2012
IF SHIFT(A$)THEN VAR B
?A$VAR C
B=C

सबसे पहले, हम सख्त मोड को सक्षम करते हैं। यह आपको उपयोग करने से पहले सभी चर घोषित करने के लिए मजबूर करता है, और चीजों को बदलने से रोकता है? A $ to? B $।

अगला, "A $" नामक एक स्ट्रिंग चर बनाया जाता है, और मान "@ 2012" पर सेट किया जाता है। यह सुनिश्चित करने के लिए कि A $ के मूल्य के साथ खिलवाड़ नहीं किया गया है, प्रोग्राम एक लेबल पर कूदने की कोशिश करेगा, और प्रोग्राम का एकमात्र लेबल @ 2012 है।

अब, A $ निश्चित रूप से "@ 2012" है, लेकिन इसे प्रिंट करने से पहले, @ को निकालने की आवश्यकता है। SHIFT () स्ट्रिंग या एरे में पहला आइटम हटाता है (पॉप की तरह (), लेकिन दूसरे छोर से)। SHIFT द्वारा दिए गए मान को छोड़ने के लिए, इसे IF / THEN ब्लॉक में पास किया जाता है, जो कुछ भी नहीं करता है। बस उस स्थिति में कोई व्यक्ति उस लाइन पर टिप्पणी करने की कोशिश करता है, हम एक चर "बी" की घोषणा करते हैं, जिसका उपयोग बाद में किया जाता है। यदि VAR पर टिप्पणी की जाती है, तो अंतिम पंक्ति एक अपरिभाषित चर त्रुटि को फेंक देगी।

अब, A $ प्रिंट किया गया है, और टिप्पणियों को रोकने के लिए एक और VAR है। अंतिम पंक्ति सिर्फ यह सुनिश्चित करती है कि चर बी और सी दोनों घोषित किए गए हैं।


ठीक है ... मैं स्माइलबासिक के बारे में कुछ नहीं जानता, इसलिए यह पूरी तरह से एक अनुमान है: ?-A$VAR C- क्या यह आउटपुट हो सकता है -2012?
विल्क्स-

यह काम नहीं करेगा क्योंकि A $ एक स्ट्रिंग है।
12Me21

रुको, मेरे पास एक विचार है! किस बारे में ?B$VAR C:? :)
विल्क्स-

क्योंकि "B $" घोषित नहीं किया गया है, जिससे एक त्रुटि उत्पन्न होगी।
12Me21

0

हास्केल, 65

import Data.List
nub$filter(\x->x==2012||x==2012)([2012]++[2012])

पर्ल, 84

use strict;use English;$ARG=
2032;s/.*/2012/unless$ARG eq 2012;$SUBSEP=2012;print;

विफल दृष्टिकोण:

use strict;use English;"2012 2012"=~
/2012|2012|2012/;print$MATCH||$MATCH;

आप पर्ल समाधान को पहले की $&तरह कुछ के साथ बदलकर तोड़ा जा सकता है $0
हावर्ड

और हास्केल एक टूट जाता है यदि आप कॉमा को एक प्लस चिह्न के साथ बदलते हैं। बहादुर प्रयास हालांकि।
जेफ बुर्क

मुझे लगता है nub$filter(\x->x==2012||x==2012)(2012:[2012])कि हास्केल समाधान के लिए सुरक्षित हो सकता है।
जेफ बुर्क

मैं use Englishपर्ल में भूल गया , कि मैं इसे ठीक कर दूंगा। मुझे लगता है कि हास्केल के लिए कई फिक्सेस काम करते हैं, जिसमें स्ट्रिंग्स पर स्विच करना भी शामिल है।
जेफ बर्डज

1
पर्ल समाधान अभी भी बहुत नाजुक है। कुछ मायनों में यह तोड़ने के लिए (परीक्षण करते हुए पाया मेरे अपने जवाब ) की जगह शामिल printसाथ *rint, prin:, p:intया #rint, prepending =पहली पंक्ति के लिए, या यहाँ तक की जगह s/.*/के साथ s/./या y/.*/(आरंभ द्वारा निर्धारित किया जाएगा, जो $ARGकरने के लिए 2012के साथ शुरू करने के लिए)। इसके अलावा, आपकी $SUBSEPचाल अभी भी *अंतिम अर्धविराम से पहले डालने के खिलाफ की रक्षा नहीं करती है , लेकिन एक बहुत आसान उपाय सिर्फ उस अनावश्यक अर्धविराम को निकालना है।
इल्मरी करोनें

0

पीएचपी, 43 48

 $a='2012';echo($a==date('Y')?abs($a):date('Y'));

डालने का -मुद्रित होने के बीच ?और $aपरिणाम के बीच-2012
गारेथ

के साथ प्यारा प्रयास date(), लेकिन कार्यक्रम को 2012 से भी आगे काम करना है। ;)
विल्क्स-

@ गारेथ - हम्म :)
कोडर

1
@ विलक्स- "कार्य अपनी पसंदीदा भाषा में एक कार्यक्रम लिखना है जो 2012 को आउटपुट करता है" जहां यह कहता है कि इसे 2012 से परे काम करना है? :)
कोडर

1
@ TheCoder ठीक है, अब मैं अपने सम्मिलित करने जा रहा हूँ - बीच ? और एब्स। ;-)
गैरेथ

0

रूबी ( 57 36)

EDIT और 36 वर्णों में एक और।

p((x,y='2012','2012';x=='2012'?x:y)) 

मुझे लगता है कि स्ट्रिंग्स का उपयोग करना बहुत ही विफल है क्योंकि उस शून्य से काम किसी भी अधिक काम नहीं करता है।


EDIT अगली कोशिश (36 वर्ण) [कोई बात नहीं, परिणाम में -बाद में जोड़ना ]p-2012

p [2012,2012] .find (2012) .first || 2012


यह केवल इस वर्ष काम करेगा, लेकिन भविष्य में भी इसी तरह के प्रतियोगिताओं के लिए :) (15.chars)

p Time.now.year

ध्यान दें कि यह प्रतिस्थापन भी काम कर रहा है:

p Time.new.year

57 वर्ण। यदि आप नई संख्याओं की गणना करते हैं, तो भी यह 76 वर्ण है, हालांकि।

p( 
#
#
#
#
#
#
#
#
#
#
__LINE__.to_s.prepend(
#
#
#
#
#
#
#
__LINE__.to_s))


पहले दो समाधान - #लाइन की शुरुआत में जोड़ें । अंतिम समाधान - पहले एक नई प्रविष्टि दर्ज करें p। (नोट - मैं खुद को रूबी नहीं जानता, इसलिए शायद मैं गलत हूं)।
विल्क्स-

लानत :) आप सही हैं
पैट्रिक ऑसिटी

मेरे लिए "2012" प्रिंट। उद्धरण अनुरूप नहीं हैं - क्या वे हैं?
उपयोगकर्ता अज्ञात

हां आप सही हैं। आप उपयोग $><<कर सकते हैं या putsइसके बजाय। जो भी हो, मैं इसे किसी भी अधिक प्रयास करने वाला नहीं हूं, मैंने छोड़ दिया :)
पैट्रिक ऑस्सिटी

0

क्यू, २३

{$[2012~m:2012;m;2012]}

q){$[2012~m:2012;m;2012]}`
2012
q){$[1012~m:2012;m;2012]}`
2012
q){$[2012~m:1012;m;2012]}`
2012
q){$[2012~m:2012;m;1012]}`
2012
q){$[2012~\m:2012;m;2012]}`
2012
q){$[2012~/m:2012;m;2012]}`
2012
q){$[2012~'m:2012;m;2012]}`
2012

आदि


और एक नकारात्मक ( -) जोड़ना ? - {$[-2012~m:2012;m;2012]}- {$[2012~m:-2012;m;2012]}-{$[2012~m:2012;m;-2012]}
गफ्फि

यह अभी भी 2012 q){$[-2012~m:2012;m;2012]}` 2012- q){$[2012~m:-2012;m;2012]}` 2012-q){$[2012~m:2012;m;-2012]}` 2012
tmartin

इस ;m;तरह ;1;या कुछ के लिए बाहर स्विच करके हराया जा सकता है ;x;
स्ट्रीटस्टर

0

हम्म .. मुझे कोशिश करने दो:

class a {
  int i=2012, j=2012;
  public static void main(String[] args){if (i==j)
    {System.out.println(i);}else{System.out.println(i);}
  }
}

व्हॉट्सएप के बिना 128 वर्ण।

class a{int i=2012, j=2012;public static void main(String[] args){if(i==j){System.out.println(i);}else{System.out.println(i);}}}

1
"-", यानी System.out.println(-i)(पहले प्रिंटल के लिए) डालकर टूटा हुआ । इसके अलावा जैसे पहले की जगह से टूट println(i)जैसे के साथ println(1)। इसके अलावा संभावित बदलकर टूट i == jकरने के लिए i += j(- =, आदि या)।
टीएलडब्ल्यू

0

पीएचपी

मुझे आशा है कि यह अटूट है :)

$a="2012";ob_start();function c(){ob_clean();return"2012";}function ee($s){return crc32($s)+printf($s);}
print(ee($a)==1367825560?die()
:c());

मैं इस पंक्ति के अंत में एक चरित्र जोड़ता हूं: echo(printf("%s",$a)==4)?die(3और मुझे मिलता है 20123
विल्क्स- 10

हम्म ... PHP 5.4.7 मरने के साथ सही ढंग से काम करता है (3।
स्टानिस्लाव यागलो

आप सही हे। मेरी गलती। खोज जारी ...
विल्क-

PHP 5.3.3 - साथ ही सही। मरो () केवल तार आउटपुट करता है, यह संख्याओं को आउटपुट नहीं करता है।
स्टैनिस्लाव यागालो

रुको, DUH, यह पाया! बस ."2012"करने के लिए बदल जाते हैं ."FAIL"। :)
विल्क्स-

0

ग्रोवी: 26

x=2012;print x^2012?2012:x

मैं ग्रूवी को ज्यादा नहीं जानता, लेकिन क्या यह काम करेगा? x=2012;print x^2012?2012:-x
विल्क-

किस -लिए है?
आर्मंड

@ एलिसन -अपने कोड को एक वर्ण के साथ संशोधित करने का प्रयास करना है ताकि यह अब काम न करे।
गैरेथ

1
x=2012;print x^=2012?2012:x(चेंजिंग ) आउटपुट को 0. में बदल देता ^है^=
histocrat

0

लुआ

print(- -(function(ab,ba)assert(ab==ba)return- -ab end)(2012,2012))

1
यदि आप उन -संकेतों में से एक को हटा दें तो क्या होगा ?
विलेक्स- १५'१३

ओह, और यदि आप उनमें से एक 2012को किसी और चीज़ में बदलते हैं , तो मुखर एक त्रुटि उठाएगा। हम्म ... अच्छा, मुझे लगता है कि आप नियमों का दुरुपयोग करने के लिए रचनात्मकता के लायक हैं। लेकिन गंभीरता से, कि यह कैसे मतलब नहीं था।
विल्क्स-
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.