এমন একটি প্রোগ্রাম লিখুন যা সর্বদা "2012" আউটপুট করে - এমনকি যদি এটি সংশোধিত হয়!


116

এই ধারণাটি আমার নয়, যদিও আমি জানি না এটি কোথা থেকে উদ্ভূত হয়েছিল। আমি একবার খুব আগে একটি প্রোগ্রামিং প্রতিযোগিতায় এটির সাক্ষাত করেছি (1998, যদি আমি সঠিকভাবে মনে করি)। কাজের যে আউটপুট আপনার প্রিয় ভাষায় একটি প্রোগ্রাম লিখতে হয় 2012 এবং শুধুমাত্র 2012 । ক্যাচটি হ'ল প্রোগ্রামটি এর যে 2012কোনও একটি অক্ষর সংশোধন করার পরে অবশ্যই আউটপুট করতে হবে । পরিবর্তনটি সন্নিবেশ, মুছে ফেলা বা প্রতিস্থাপন হতে পারে। অবশ্যই, পরিবর্তনটি এমন হবে যে প্রোগ্রামটি এখনও সিনট্যাক্টিকভাবে বৈধ।

যেহেতু আমি সমস্ত প্রোগ্রামিং ভাষা জানি না, তাই আমাকে শ্রোতাদের আমাকে সাহায্য করতে এবং জমা দেওয়া উত্তরগুলি পরীক্ষা করতে বলতে হবে।

যোগ করা হয়েছে: অনেকে মন্তব্য করেছেন যে গ্রহণযোগ্য পরিবর্তনের বিষয়ে আমার সংজ্ঞাটি খুব অস্পষ্ট। এখানে আমার দ্বিতীয় চেষ্টা: অনুমোদিত পরিবর্তনগুলি আপনার প্রোগ্রামটিকে সিন্টেক্সিকভাবে বৈধ রেখে দেবে এবং এটি ক্রাশ হওয়ার কারণ হবে না। সেখানে, আমি মনে করি যে সমস্ত সংকলন সময়, লিঙ্ক-সময় এবং রান-সময় ত্রুটি আবরণ করা উচিত। যদিও আমি নিশ্চিত যে যে কোনওভাবে কোনও ভাষায় কিছু বিজোড় প্রান্তের ঘটনা ঘটবে, সুতরাং যখন এটি সামনে আসবে তখন আমরা স্বতন্ত্রভাবে এটি দেখব।


সম্ভবত সম্ভবত অবৈধ ঠিকানা পড়ার মতো রানটাইম ত্রুটিগুলি সম্পর্কে কীভাবে?
aaaaaaaaaaaa

@ পিটারটেলর - ইতিমধ্যে 3 টি উত্তর রয়েছে, ভারী সংশোধন করা সি। আপনি সেখানে অনুপ্রেরণার সন্ধান করতে পারেন।
ভিলাক্স-

2
কেউ এপিএল বা গল্ফস্ক্রিপ্টে বা একইভাবে সংশ্লেষে অসম্ভব কিনা তা বুঝতে পেরেছেন?
জেফ বার্ডেজস

14
এটি আমাকে ডিএনএ এবং অপ্রয়োজনীয়তা এবং মহাজাগতিক রশ্মির জন্য আমার প্রোগ্রামগুলিতে বিট ফ্লিপ করার সম্ভাবনা সম্পর্কে চিন্তাভাবনা করেছে। আকর্ষণীয় জিনিস।
জন পুর্ডি

11
... তোমার কিছু ঘুম দরকার।
ভিলাক্স-

উত্তর:


65

সি, 53 টি অক্ষর

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

স্ক্রিপ্টিং ভাষার উত্তরগুলির চেয়ে কিছুটা দীর্ঘ এবং একই মূল নীতি অনুসরণ করে follows সি এর সিনট্যাক্সের সীমাবদ্ধতার কারণে নির্ভর করে যে কেবলমাত্র অক্ষরগুলি প্রোগ্রামটিকে অবৈধ না করেই পরিবর্তন করা সম্ভব হবে তার মধ্যে রয়েছে!

সম্পাদনা: 4 টি অক্ষর বন্ধ

পুনর্লিখন: দৃust়তা বৃদ্ধি পেয়েছে, একটি চরিত্রকে চাঁচা করেছে।

পুনরায় redit: দীর্ঘ, কিন্তু আরও শক্তিশালী। শুধু আপনার &এখন চেষ্টা করুন ! (সঠিকভাবে এবার)

আপডেট: কিছুটা ছোট করা; এখন পর্যন্ত দেখা বেশিরভাগ পদ্ধতির কাছে পরাস্ত করে।

আপডেট: অকার্যকর মধ্যে পরিবর্তন করা; এটি ভাঙার জন্য সর্বশেষ সম্ভাব্য পদ্ধতির পরাজিত করা উচিত যা আমি ভাবতে পারি।

আপডেট: আমি অন্য পদ্ধতির ব্যর্থ; সর্বশেষ a(এটি পচে যেতে পারে) এর সাথে প্রতিস্থাপন করা 0; দ্বি-অক্ষরের নাম ব্যবহার করা সেই সমস্যাটির সাথে মোকাবিলা করা উচিত।

আপডেট: সর্বশেষ আপডেট বাতিল; রানটাইম ত্রুটির কারণ হিসাবে পরিবর্তনগুলি অনুমোদিত নয়; aঠিক কাজ করবে।

আপডেট: আরও কিছু ব্যাকট্র্যাকিং; ডিফেরেন্স করার *aচেষ্টাও সেগফোল্ট হবে; সুতরাং voidএটি থেকে একটি সংকলন ত্রুটি টিজ করতে ব্যবহার করা প্রয়োজন হবে না।

আপডেট: এবং একটি চূড়ান্ত সংক্ষিপ্তকরণ; এটি স্ট্রিংয়ের উপর নির্ভর করে "2012"তবে একটি ঠিকানা (যা সাধারণ); এবং সেই আক্ষরিক স্ট্রিংগুলি কেবল পঠনযোগ্য (সাধারণভাবে)।

আপডেট: এটি আমার জন্য দুটি চরিত্রের জন্য ব্যয় করেছে, কিন্তু আমি আপনার তুষারকে আধা কোলনকে পরাজিত করেছি!


2
@ পলআরআর: এখন পরিবর্তিত হয়েছে register void; registerসেখানে প্রতিরোধ করা হয় &; The voidপ্রতিরোধ নেই *
উইলিয়াম টটল্যান্ড

6
ঠিক আছে ... যদি এটি অবৈধ সি হয় তবে আমাকে সংশোধন করুন, তবে এটি কেবল আমার ভিএস 2010 এ কাজ করেছে। একটি ঢোকান ;মধ্যে putsএবং (
ভিলাক্স-

39
+1, অভিনন্দন, আমি মনে করি আপনি এটি পেরেক দিয়েছেন। আমি একটি সাধারণ পরীক্ষার জোতা লিখেছি যা আপনার কোডের প্রতিটি সম্ভাব্য ওয়ান-চরিত্রের বিভিন্নতা সংকলন করতে এবং চালানোর চেষ্টা করেছিল এবং তাদের প্রত্যেকটিই হয় সংকলিত, ক্রাশ বা মুদ্রিত হয়নি 2012! (আমি কেবল সন্নিবেশ এবং প্রতিস্থাপন পরীক্ষার জন্য মুদ্রণযোগ্য এএসসিআইআই অক্ষর ব্যবহার করেছি, তবে আমার সন্দেহ হয় যে
পুস্তকটি

3
@ ইলমারিকারনেন: হেই, এটাই অনেক চেষ্টা; এই সমস্ত কিছু করার জন্য ধন্যবাদ। :)
উইলিয়াম টটল্যান্ড

1
@ টিটাস: আপনি যদি বোঝাতে চান যে টেন্নারিটিতে স্যুইচ ==করছেন !=, এটি আপনাকে কোথাও পায় না; পরিবর্তে aএখন আউটপুট আউট "2012"
উইলিয়াম টটল্যান্ড

38

হাস্কেল, ১৯

(\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
@ জেফবার্ডেজস: অবশ্যই, আমি এটিকে "অন্তর্ভুক্ত করার জন্য নিয়েছি এবং এটি ক্রাশ হওয়ার কারণ হবে না"।
ঘড়ির

1
জন্য a=map(head.show.length)[[a,a],[],[a],[a,a]]সমাধান, সন্নিবেশ aমধ্যে []। যদিও আমি এই পোস্টটি সত্যিই পছন্দ করি! খুব চতুর সমাধান।
ডিলন কাওয়ার

9
আমি যাচাই করেছি যে আপনার 29-চরিত্রের প্রোগ্রামের 585 পার্থক্য (ASCII অক্ষর 32326 প্রতিস্থাপন বা সন্নিবেশ করা) প্রত্যাশা অনুযায়ী কাজ করে work আমি যে পরীক্ষার স্ক্রিপ্টটি ব্যবহার করেছি এটি এখানে । অন্যান্য ভাষা সহ অন্যান্য প্রোগ্রামগুলি পরীক্ষা করতে এটি সহজেই টুইঙ্ক করা যায়। সতর্কতা: আমার ল্যাপটপে চালাতে প্রায় 1 ঘন্টা সময় লেগেছিল :)
হামার

1
[a]-> []-৪-চর সমাধানে
জন ডিভোরাক

14

জাভাস্ক্রিপ্ট

আমি বিশ্বাস করি এটি রানটাইম ত্রুটি প্রমাণ, যে কোনও একক পরিবর্তনের ফলে একটি সংকলন ত্রুটি বা একক সতর্কতা 2012 বলা উচিত saying

সম্পাদনা: কোড কোনও রানটাইম ত্রুটি তৈরি করবে যেমন কিছু if("alert(2012 "==r), আমি এর সাথে মোকাবিলা করার জন্য চেষ্টা বিভাগটি সরিয়ে নিয়েছি।

সম্পাদনা করুন: চমৎকার একটি ভিলাক্স-, তবে স্থিরযোগ্য :-) এখন সেমিকোলন সন্নিবেশ করানোর জন্য একটি বন্ধনী মিল নেই।

সম্পাদনা: তবে তারপরে কোনও কমা সেমিকোলনের মতো একই কাজ করতে পারে, এটি বিকল্পের একটি হোস্ট, আমি মনে করি এটি ঠিক করেছি, তবে এখন প্রচুর কোড রয়েছে।

সম্পাদনা: কিছুটা সরলীকৃত।

সম্পাদনা: বাগফিক্সের অসীম সিরিজের আরও একটি।

সম্পাদনা: এই ধরণ আরো দীর্ঘ ও বুলেটপ্রুফ চেয়ে জটিল মতানুযায়ী, কিন্তু এটা অন্তত যত্ন নিতে হবে ~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
সি সমাধান হিসাবে একই জিনিস - এবং একটি ;মধ্যে inোকান । eval(
ভিলাক্স-

1
মন্তব্য পাঠকদের জন্য, সেমিকোলন দুর্বলতা স্থির হয়েছে, আমি বিশ্বাস করি যে কোডটি এখন পরিষ্কার হবে।
আআআআআআআআআআআআআআআআআআআআআআআআআ

4
এটি গণনা করে কিনা তা নিশ্চিত নন, তবে কারণগুলির ~সামনে রেখে দেওয়ার evalকারণে এটি একবারের পরিবর্তে 2012 দুবার প্রতিধ্বনিত হয় । নিশ্চিত না যে এটি নিয়ম অমান্য করে বা না: পি
মেল্লামোকব

2
একটি বিরতি !পরে একটি যোগ eval(করা।
jimmy23013

13

পার্ল, 49 টি অক্ষর

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

জেবির উত্তরের উপর ভিত্তি করে , তবে এটি আসলে অনুমিত করে । একটি বিস্তৃত চেক ইঙ্গিত দেয় যে প্রতিটি এক-চরিত্রের মোছা, সন্নিবেশ বা প্রতিস্থাপনটি হয় আউটপুটটি অপরিবর্তিত রেখে দেয় বা প্রোগ্রাম চলাকালীন ক্রাশের কারণ ঘটায় (কমপক্ষে সন্নিবেশ যতক্ষণ না সন্নিবেশ এবং প্রতিস্থাপনগুলি মুদ্রণযোগ্য এএসসিআইআই অক্ষরগুলিতে সীমাবদ্ধ।

(সীমাবদ্ধতা ব্যতিরেকে পার্লে কাজটি অসম্ভব: পার্ল পার্সারের একটি সামান্য জ্ঞাত বৈশিষ্ট্যটি হ'ল এটি যখন কোনও Ctrl-D বা Ctrl-Z অক্ষরের মুখোমুখি হয় তখন এটি থেমে যায়, সুতরাং যে কোনও ফাইল ঘুরিয়ে সামনের দিকে যে কোনও একটি সন্নিবেশ করানো হয়) এটি কোনও বৈধ পার্ল প্রোগ্রামে পরিণত হয় যা কিছুই করে না))

সম্পাদনা করুন: প্রতিস্থাপন করে আরও একটি চর বন্ধ 1==printকরে দেওয়া 0-print


পার্ল 5.28 এর সাথে বিরতি দেয় যেখানে 1 :print'true'
জেবি

3
@ জেবি: আচ্ছা, যখন ঘটে তখন আপনি এটিকে কম করতে পারেন। :) (অন্যান্য পাঠকদের সুবিধার জন্য, এই একটি তামাশা হয় যতদুর আমি জানি, সেখানে ফেরত মান পরিবর্তনের কোনো পরিকল্পনা আছে। printপার্ল 5 কোনো সংস্করণে, এমনকি যদি তা না হয় বিষদ বিবরণ ।)
Ilmari করোনেন

12

Brainfuck

আমি নিজেকে বোঝানোর চেষ্টা করছি যে এটি সম্ভব, এবং আমি মোটামুটি নিশ্চিত যে আমি এটি কিছুটা দূরে প্রসারিত করেছি। আমি আমার পরিবেশ সম্পর্কে কয়েকটি অনুমান করেছি:

  1. অসীম লুপটিকে 'ক্রাশ' হিসাবে বিবেচনা করা হয়। একই শর্তটি সম্ভবত শূন্যের অতীত হ্রাস বা নির্দিষ্ট দোভাষীগুলিতে মেমরির অবস্থানের বাম দিকে হ্রাস করেই অর্জন করা যেতে পারে। রানটাইমের সময় অনেক দোভাষীকে ক্রাশ করা কঠিন। আমি কেবল সহজতম, সবচেয়ে সুস্পষ্ট অসীম লুপ ব্যবহার করে থামার সমস্যাটি এড়াতে চাই।
  2. তুলনামূলক স্কোয়ার ধনুর্বন্ধনীগুলি একটি সংকলন ত্রুটি হিসাবে বিবেচিত হয়।
  3. এটি কেবল এমন পরিবেশে কাজ করবে যেখানে প্রোগ্রামটির আউটপুটটি তার নিজস্ব ইনপুটটিতে ফিরে যায়। এটি সত্যই '2012' আউটপুট করেছে তা যাচাই করতে আমি এটি ব্যবহার করি। এই একমাত্র উপায় আমি কেবল আউটপুট অক্ষরগুলির একটি মুছতে পারি।

দুর্ভাগ্যক্রমে, আপনি যদি আরও কঠোর হন তবে আমি আশঙ্কা করি এটি অসম্ভব হয়ে উঠবে। এখানে আমার সমাধান:

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

মূলত, আপনি আউটপুট কোড বা যাচাইকরণ কোডটি পরিবর্তন করতে পারেন তবে দুটি নয়। তার মধ্যে একটি কাজের গ্যারান্টিযুক্ত। তাদের মধ্যে একটি না হলে এটি 'ক্রাশ' হয়ে যাবে।


5
উঘ, ব্রেইনফাক! আপনি ঠিক আছে, তাই না? এক্সডি
ভিলক্স-

8
আপনি কি তার বদলে হোয়াইটস্পেস পছন্দ করতেন?
এনআরজিডাল্লাস

7

Python2

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

স্টেডআউট পুনর্নির্দেশটি এটি ভঙ্গ করছিল বলে এটি পরীক্ষা করতে আমাকে রায়ের পরীক্ষা স্ক্রিপ্টটি কিছুটা পরিবর্তন করতে হয়েছিল। ফাঁকা ফাঁকে ফাঁকে ফাঁকে ফাঁকে ফাঁকে প্রবেশ করা নেমস্পেসকে দূষিত করা এড়ায়

exec(prog, {}, {})

গ্রেট! আপনি এটি করতে!
রায়

6

মস্তিষ্ক-ফ্লাক , 44 + 3 = 47 বাইট [প্রতিযোগিতা না করা]

এটি ব্রেন-ফ্ল্যাকের -Aপতাকা ব্যবহার করে এবং অক্ষরগুলি 2012STDOUT এ আউটপুট করে

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

এটি অনলাইন চেষ্টা করুন!

বিকল্প, 50 বাইট

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

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

উপরের কোডগুলির মধ্যে যে কোনও একটিতে একক অক্ষর পরিবর্তনের ফলে প্রোগ্রামটি ত্রুটি ঘটবে।


3
হা! চ্যালেঞ্জের জন্য সঠিক ভাষা।
ডিএলসাস

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

সিসি সম্পর্কে

সিসি একটি খেলনা ভাষা যা সমাবেশ এবং কিউব্যাসিক দ্বারা অনুপ্রাণিত হয়। এটি এই চ্যালেঞ্জের পক্ষে ভাল কারণ এর বাক্য গঠনটি অত্যন্ত সীমিত।

  • এটা শুধুমাত্র চার কমান্ড রয়েছে: 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টি xx2012 এ সেট করে।
  • যদি লাইন 2-তে অ্যাসাইনমেন্ট বা 3 লাইনে জাম্পের শর্তটি সংশোধিত করা হয়, তবে আমাদের যত্ন নেই: xxআমরা ঝাঁপ দাও বা না নিই 2012 তে সেট করা হবে।
  • লাইন 3-এ জাম্প টার্গেটটি 5 বা ততোধিক 955 এর মতো ছোট আকারে পরিবর্তন করা যেতে পারে possible যেকোনও সম্ভাব্য পরিবর্তন printতাড়াতাড়ি বা পরে 955-এ লাইনটিতে পেয়ে যায়। একটি পরিবর্তন দিয়ে পিছনে ঝাঁপ দেওয়া (লুপ তৈরি করা) বা প্রোগ্রামের শেষের বাইরে যাওয়া সম্ভব নয়।
  • যদি লাইন 4-এ অ্যাসাইনমেন্টটি সংশোধন করা হয়, তবে আমাদের যত্ন নেই: লাইন 1 এর অ্যাসাইনমেন্টটি সঠিক হবে এবং আমরা গত লাইন 4 এ চলে যাব।
  • যদি 955 লাইনটি সংশোধন করা হয় তবে আমাদের সমস্যা হতে পারে। সিসি সম্পর্কে একটি দুর্ভাগ্যজনক বিষয় হ'ল অবিচ্ছিন্ন ভেরিয়েবলগুলি ডিফল্টরূপে 0, সুতরাং এর মতো পরিবর্তনটি print axত্রুটি নয়। কুরুচিপূর্ণ কিন্তু কার্যকর সমাধান হ'ল লাইন 828-954, যা 1 থেকে সম্পাদনা দূরত্ব সহ প্রতিটি সম্ভাব্য পরিবর্তনশীলকে 2012 নির্ধারণ করে xx। এটি নিশ্চিত করে যে ফাইনালে কোনও পরিবর্তন print xxএখনও 2012 মুদ্রণ করবে।
  • যদি একটি লাইন নম্বর সংশোধিত হয়, হয়: 1) এটি ক্রম ছাড়িয়ে যাবে এবং একটি সিনট্যাক্স ত্রুটি হবে, বা 2) এটি প্রোগ্রামের প্রবাহকে প্রভাবিত করবে না। আমরা যে মূল পরিবর্তনটি সম্পর্কে উদ্বিগ্ন হতে পারি - 4 থেকে 94 লাইন পরিবর্তন করে, তারপরে 55 এ লাফ দেওয়ার পরে এটি সন্নিবেশ করানো - কোনও ব্যাপার নয় কারণ এটি যা কিছু করে তা 2012 কে xxআবার নির্ধারিত করা হয়েছে।

ভাল একটা! আমি এটিকে আটকানোর কোনও উপায় ভাবতে পারি না। আমার কাছ থেকে চেষ্টা করার জন্য "এ", এটি অবশ্যই! :)
ভিলাক্স-

3

পাইথন

একটু বাগাড়ম্বরপূর্ণ (বর্তমানে মধ্যে যে বিরক্তিকর সেমিকোলন জন্য একটি ফিক্স সঙ্গে printএবং (!):

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

@ জেফ বার্জেস: হ্যাঁ, এটির সাথে আমি রানটাইম ত্রুটিগুলিও বঞ্চিত হচ্ছি না তাও নিষ্ক্রিয়। :)
ডিলন কাওয়ার

আমি আশংকা করি যে এটি চৌম্বকটি খালি সেটটি উপস্থাপন করে এবং পপ রানটাইম ত্রুটি ছুঁড়ে দিলে এটি সিন্টেক্সিকভাবে সঠিক correct উভয় পক্ষের আরও 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')

এটি কি এসকিউএল উপভাষা? লেনদেন-এসকিউএল (ওরফে এসকিউএল সার্ভার) এর মতো দেখতে লাগে তবে এটির জন্য এটি অবৈধ বাক্য গঠন করে।
ভিলেক্স-

@ ভিলাক্স: আমি এসকিউএল সার্ভার ২০০৮ এ নিজেই এটি পরীক্ষা করেছিলাম যখন আমি এটি ভেঙে দেওয়ার চেষ্টা করছিলাম এবং এটি ঠিক কাজ করেছিল worked
মেল্লামোকব

@ মেল্লামোকব - এটি অদ্ভুত। এটি হ'ল আমি যা করেছি, এবং এটি অভিযোগ করেছে যে আপনি ভেরিয়েবলের জন্য একটি ডিফল্ট মান নির্ধারণ করতে পারবেন না (আপনার একটি পৃথক এসইটি বিবৃতি প্রয়োজন), এবং কোনও আইআইএফ নেই (কেবল সিএএসই)।
ভিলাক্স-

1
@ ভিলেক্স-: আহা, আপনি ঠিক বলেছেন। আমি বুঝতে পেরেছি যে আমি আসলে এসকিউএল অ্যাজুরিতে পরীক্ষা করছিলাম। এসকিউএল সার্ভার ২০০৮ এর সাথে আমি আপনার মতো একই ত্রুটিগুলি পেয়েছি। তবে এটি এসকিউএল সার্ভার 2012 / অ্যাজুরেতে দুর্দান্ত কাজ করছে বলে মনে হচ্ছে। এসকিউএল ২০১২ এর সাথে এখানে একটি ডেমো রয়েছে: sqlfiddle.com/#!6/d41d8/27
মেল্লামোকব

ঠিক আছে, অভিনন্দন, আমি এটি ভঙ্গ করার কোনও সুস্পষ্ট উপায় খুঁজে পাই না! :) যে নেই বলার অপেক্ষা রাখে না। ;)
ভিলাক্স-

3

আমি অজগর সংক্রান্ত সমস্ত স্ক্রিপ বিচার করার জন্য একটি অজগর স্ক্রিপ্ট তৈরি করেছি। স্ক্রিপ্টটি বিভিন্ন এবং বিভিন্ন পদ্ধতি সহ প্রথম এবং তৃতীয় অজগর সমাধানগুলি ভেঙে দেয়। এবং দ্বিতীয় সমাধান ল্যাম্বদা ব্যবহার করে নিজেকে রক্ষা করুন, অটুট। দ্বিতীয় অজগর সমাধানটি পাইথন 3 এ রয়েছে I

এখানে বিচারকের স্ক্রিপ্ট।

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) 

কুল! আমার উত্তর একই সাথে
চুষে ও ফুঁসে উঠেছে

p2পাইথন 2 এর জন্য সর্বদা একটি ব্যতিক্রম ছুঁড়ে। আউটপুট কখনই 2012 নয় Your আপনার জাজ প্রোগ্রামটি পাইথন 3 এর অধীনে চলবে না কারণ এটি মুদ্রণ বিবৃতি ব্যবহার করে।
gnibbler

@gnibbler আমি লক্ষ্য করি না যে p2অজগর 3 এ রয়েছে
রায়

আমি
পাইথন

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 (+ ক) এটি ভেঙে দিয়েছে (ধন্যবাদ eBusiness)।

আপডেট 2: '|' এর জন্য স্থির কেস (আবার ই-বিজনেস ধন্যবাদ)

আপডেট 3: '>' কেসটির জন্য স্থির করা হয়েছে (আবার ই-বিজনেসকে ধন্যবাদ)। এবং '1' মামলার জন্য বিরতি :(


তুমি তোমার রক্ষা করনি eval(+a)এবং অন্যান্য অনেকগুলি পরিবর্তন পুরোপুরি সূক্ষ্মভাবে চালিত হয় তবে পুরোটা খুব বেশি করে না।
আআআআআআআআআআআআআআআআআআআআআআআআআহ

@ ই বিজনেস: কেসটি নির্দেশ করার জন্য ধন্যবাদ eval(+a), এখন তা ঠিক করা উচিত। এছাড়াও, আমি এমন কোনও সংশোধনী ক্ষেত্রে সন্ধান করতে অক্ষম হয়েছি যেখানে এটি ভাল চলে তবে 2012 সালে আউটপুট দেয় না, তাই আপনি দয়া করে আমাকে একটি উদাহরণ দেবেন?
ব্রিগুই 37

eval(0)এবং eval(-a)উদাহরণস্বরূপ একই জিনিস করে।
আআআআআআআআআআআআআআআআআআআআআআআআআআআআআআরআইআর 4'12

সম্পাদনা পোস্ট করুন এটি কমপক্ষে প্রতিস্থাপনের ||মাধ্যমে ভেঙে যেতে পারে |
aaaaaaaaaaaa

5
ভঙ্গ করলে আপনাকে প্রথমে পরিবর্তন alertকরতে aler=
জিমি 23013

2

রুবি 1.9 - 43 অক্ষর

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

পরীক্ষিত নয়, তাই বিরতি।


2

এক্সেল, ১৪ টি অক্ষর (সামান্য প্রতারণা):

{=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. যদি 3 বা 4 বা 5 লাইনের বিপরীতে পরিবর্তন হয় aবা bএটি পরিবর্তন করা হয় তবে এটি এখনও নিম্নলিখিত পথটি গ্রহণ করবে: 1 → 2 (এবং এটির aঅপরিবর্তিত মান ফিরে আসবে 2012)
  7. @ 3-এ স্ট্রিংয়ের বিষয়বস্তু যদি কোনওভাবে সংশোধন করা হয় তবে এটি নীচের পথটি গ্রহণ করবে: 1 → 2 (এবং এটির aঅপরিবর্তিত মান ফিরে আসবে 2012)
  8. কোডের কার্যকারিতাটিতে কোনও পরিবর্তন ছাড়াই অন্য কোনও বৈধ চরিত্রে বা ইন- Mইন পরিবর্তন করা সম্ভব।class Mamain(String[]a)
  9. অন্য যে কোনও পরিবর্তনের ফলে একটি সংকলন-ত্রুটি ঘটবে (কিছু প্রবেশকারী / সাদা স্থান বাদ দিয়ে, যা সরিয়ে / যুক্ত করা যায়)।

তারা এখনও 2012 মুদ্রণ করে যাচাই করতে এখানে এই সমস্ত সংশোধনীটি ব্যবহার করে দেখুন।

ওপির নিয়মগুলি অনুসরণ করে যদি আপনি এটি ভাঙার কোনও উপায় খুঁজে পান তবে আমি এটি জানতে পছন্দ করব, তাই আমি এটি ঠিক করার জন্য কিছু ভাবতে পারি।
বেশিরভাগ অনুরূপ প্রশ্নের বিপরীতে যেখানে একটি একক চর সংশোধন করা হয়, এই প্রশ্নটি প্রোগ্রামিং ভাষার মূল কাঠামোটিকে অক্ষুণ্ণ রাখতে দেয়, ফলে জাভা শেষ পর্যন্ত একটিতে প্রবেশের প্রতিযোগিতা করতে পারে (আসুন এটির মুখোমুখি হোন, জাভা সবচেয়ে বেশি - কখনও কিছুই জিতবে না) এই এসই এক্সডি)।


পথে 4 এর আগে একটি নেতিবাচক চিহ্ন কী প্রবেশ করানো হয় a? প্রোগ্রামটি এখনও 2012 সালে আউটপুট পাবে, বা এটি আউটপুট -2012 করবে?
গরু হাতুড়ে

@ ক্রিতিক্সিলিথোস এটি একটি স্ট্রিং, যাতে আপনি বা এর -আগে একটি inোকাতে পারবেন না । কম্পাইল ত্রুটির একটি স্ক্রিনশট এখানে। ab
কেভিন ক্রুইজসেন 23'17

1

রুবি ১.৯

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

আমি এই সংক্ষিপ্ত তবে সাধারণ প্রোগ্রামটি তৈরি করি যা আপনাকে উপরের নিয়ম অনুসারে বিরতির জন্য আমন্ত্রিত। এমনকি #লাইনের বাকী অংশটি মন্তব্য করার জন্য যদি একটি সন্নিবেশ করা হয় তবে আমি আউটপুট পরিবর্তিত হয় এমন কোনও অবস্থান (কোডটি না ভেঙে) সন্ধান করতে পারি না।


(r = 2012) == 2012 রাখে? -r: 2012.send (: abs) "-2012" প্রিন্ট করে
জোয়ানিস

@ এম.জোয়ানিস তবে আপনার দুটি অতিরিক্ত অক্ষর দরকার: একটি স্থানের অক্ষর এবং একটি বিয়োগ। একটি বিয়োগ একা কাজ করবে না।
হাওয়ার্ড

আহ, ঠিক বলেছেন! সংকলন ত্রুটি। আমি রুবি সম্পর্কে কিছুই জানি না, আমার আরও যত্নবান হওয়া উচিত। দুঃখিত!
জোয়ানিস

1
মতে irb, rxএকটি বৈধ প্রোগ্রামের ফলাফলের আগে একটি বিয়োগ যোগ করা যা ফলাফল দেয় -2012...
কনরাড রুডলফ

2
রুবি ১.৯-এ আউটপুট এ এটিকে কারণ হিসাবে পরিবর্তন putsকরা হচ্ছে । putc?
হিস্টোক্র্যাট

1

স্কালা, 95

(বা 54 যদি অর্থহীন অংশগুলি এড়িয়ে যায়)

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

আমি ভয় করি যে আমি কোনও ত্রুটি খুঁজে পাওয়ার জন্য স্কালার সম্পর্কে যথেষ্ট পরিমাণে জানি না। :( অন্য লোকেরা, দয়া করে একবার দেখে নিতে পারেন?
ভিলাক্স-

এই স্তরে এটি শক্ত নয়। সর্বাধিক স্কাল কঠোরতা তার টাইপ সিস্টেমের জটিলতার কারণে হয় (যা আমি এখনও পুরোপুরি বুঝতে পারি না: ডি)
সের্জে বোর্স

আমি স্কালাকে চিনি না, তবে (...),("2012")মনে হচ্ছে এটি ভেঙে গেছে।
jimmy23013

1

সি শার্প

অবশ্যই এটি সহজ নয়, তাই না? ...

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

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

ঠিক আছে আমি কি মিস করছি?


1
আপনি যদি 8 তম লাইনটিকে "কনসোল.রেটলাইন (-রসাল্ট)" তে পরিবর্তন করেন তবে কী হবে?
গ্লেন রেন্ডার্স-পেহারসন

এখানে কোনও সি # সংকলক নেই, তবে কি if (result += "2012")আউটপুট তৈরি করতে লাইন 7 পরিবর্তন করা উচিত নয় 20122012?
ফিলিপ

হুমমম ... আমি সে কথা ভাবিনি ... ড্রইং বোর্ডে ফিরে
যুদ্ধ

@ ফিলিপ - না, এটি সংকলন করবে না। ifস্ট্রিং নয়, বিবৃতিটির মান হিসাবে আপনার বুলিয়ান দরকার ।
ভিলেক্স-

6
এর ;পরে যুক্ত করা elseএটি দুইবার আউটপুট করে।
jimmy23013

1

পিএইচপি, 30

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

পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট! আপনি একটি ব্যাখ্যা যোগ করতে পারেন?
Rɪᴋᴇʀ

2
এবং এখানে আমি কীভাবে এটি পরাজিত করব:<?=$i=2012;$i==2012?-$i:2012;?>
ভিলক্স-

@ ভিলাক্স- ভালো লাগলো, আমি সে সম্পর্কে ভাবিনি।
jsa

যে কোনও এক-লাইন পিএইচপি সমাধানের জন্য একটি পঙ্গু পরাজয়: একটি মন্তব্যে পুরো কোডটি রাখুন এর <?#$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 $" নামে একটি স্ট্রিং ভেরিয়েবল তৈরি হয় এবং মানটি @ @ 2012 এ সেট করা হয়। A of এর মানটি গণ্ডগোলিত হয়নি তা নিশ্চিত করার জন্য, প্রোগ্রামটি একটি লেবেলে ঝাঁপ দেওয়ার চেষ্টা করবে এবং প্রোগ্রামটির একমাত্র লেবেল @ 2012 is

এখন, এ definitely অবশ্যই "@ ২০১২", তবে এটি মুদ্রণের আগে @ কে সরানো দরকার। SHIFT () স্ট্রিং বা অ্যারেতে প্রথম আইটেমটি সরিয়ে দেয় (ঠিক পপ () এর মতো, তবে অন্য প্রান্ত থেকে)। SHIFT দ্বারা ফেরত মানটি বাতিল করতে, এটি কোনও আইএফ / THEN ব্লকে দেওয়া হয়, যা কিছুই করে না। কেউ যদি সেই লাইনটি সম্পর্কে মন্তব্য করার চেষ্টা করে তবে আমরা একটি পরিবর্তনশীল "বি" ঘোষণা করি যা পরে ব্যবহৃত হয়। যদি ভিএআর মন্তব্য করা হয়, তবে সর্বশেষ লাইনটি একটি সংজ্ঞায়িত ভেরিয়েবল ত্রুটি নিক্ষেপ করবে।

এখন, A printed মুদ্রিত হয়েছে, এবং মন্তব্যগুলি প্রতিরোধ করার জন্য আরও একটি ভিএআর রয়েছে। চূড়ান্ত লাইনটি নিশ্চিত করে যে বি এবং সি উভয় ভেরিয়েবল ঘোষিত হয়েছে।


ঠিক আছে ... আমি স্মাইলব্যাসিক সম্পর্কে কিছুই জানি না, সুতরাং এটি খাঁটি অনুমান: ?-A$VAR C- এই আউটপুটটি পারে -2012?
ভিলেক্স-

এটি কাজ করবে না কারণ A a একটি স্ট্রিং।
12

অপেক্ষা করুন, আমি একটি ধারণা আছে! কি সম্পর্কে ?B$VAR C:? :)
ভিলক্স-

এটি একটি ত্রুটি সৃষ্টি করবে কারণ "বি $" ঘোষিত হয়নি।
12 ই

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
@ ভিলাক্স- "কাজটি আপনার পছন্দের ভাষায় এমন একটি প্রোগ্রাম লেখার জন্য যা ২০১২ আউটপুট দেয়" যেখানে এটি বলে যে এটি ২০১২ এর পরেও কাজ করতে হবে? :)
কোডার

1
@Coder ঠিক আছে, এখন আমি আমার -মধ্যে inোকাতে যাচ্ছি ? এবং অ্যাবস। ;-)
গ্যারেথ

0

রুবি ( 57 36)

সম্পাদনা করুন এবং 36 টির মধ্যে অন্য একটি।

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

আমার ধারণা স্ট্রিংগুলি ব্যবহার করা বেশ ব্যর্থতা, কারণ এই বিয়োগ জিনিসটি আর কাজ করে না।


পরবর্তী চেষ্টা সম্পাদনা করুন ( ৩rs টি অক্ষর) [কিছু মনে করবেন না, ফলাফলের -পরে pফলাফল যুক্ত করুন -2012]

পি [2012,2012] .ফাইন্ড (2012) .প্রথম || 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

প্রশ্ন, 23

{$[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
ভিলাক্স-

হুম ... পিএইচপি 5.4.7 ডাইয়ের সাথে সঠিকভাবে কাজ করে (3।
স্ট্যানিস্লাভ ইয়াগলো

তুমি ঠিক বলছো. আমার খারাপ। অনুসন্ধান চালিয়ে
যাচ্ছেন

পিএইচপি 5.3.3 - পাশাপাশি সঠিক। ডাই () কেবল স্ট্রিংগুলিকে আউটপুট দেয়, এটি আউটপুট সংখ্যা দেয় না।
স্টানিস্লাভ ইয়াগলো

অপেক্ষা করুন, ডিইউএইচ, এটি পাওয়া গেল! শুধু পরিবর্তন ."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 এ পরিবর্তিত করে
হিস্টোক্র্যাট

0

অ্যাপ্লিকেশন Lua

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

1
আপনি যদি এই -লক্ষণগুলির একটি মুছে ফেলেন?
ভিলক্স-

ওহ, এবং আপনি যদি সেগুলির মধ্যে 2012কোনও একটিতে অন্য কোনও কিছুতে পরিবর্তন করেন তবে দাবী একটি ত্রুটি বাড়িয়ে তুলবে। হুম ... ঠিক আছে, আমি অনুমান করি যে নিয়মগুলিকে অপব্যবহারের জন্য আপনি সৃজনশীলতার পয়েন্টগুলি প্রাপ্য। তবে গুরুত্বের সাথে, এটি কীভাবে বোঝানো হয়েছিল তা নয়।
ভিলেক্স-
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.