अंतर्राष्ट्रीय अस्पष्ट सी कोड प्रतियोगिता: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 20: Line 20:
|country          =  
|country          =  
|years_active      = 1984–1996, 1998, 2000, 2001, 2004–2006, 2011–2015, 2018-वर्तमान
|years_active      = 1984–1996, 1998, 2000, 2001, 2004–2006, 2011–2015, 2018-वर्तमान
|first            = {{प्रारंभ तिथि|1984}}
|first            = {{start date|1984}}
|founders          = [[लैंडन कर्ट नोल]], लैरी बासेल
|founders          = [[लैंडन कर्ट नोल]], लैरी बासेल
|last              = <!--सबसे वर्तमान घटना की तारीख; यदि कार्यक्रम दोबारा आयोजित नहीं किया जाएगा, तो {{अंतिम तिथि|YYYY|MM|DD|df=y}} का उपयोग करें -->
|last              = <!--सबसे वर्तमान घटना की तारीख; यदि कार्यक्रम दोबारा आयोजित नहीं किया जाएगा, तो {{अंतिम तिथि|YYYY|MM|DD|df=y}} का उपयोग करें -->
Line 39: Line 39:
}}
}}


इंटरनेशनल ऑबफ्यूस्केटेड सी कोड प्रतियोगिता (संक्षिप्त आईओसीसीसी) सबसे रचनात्मक रूप से अस्पष्ट कोड C (प्रोग्रामिंग भाषा) स्रोत कोड के लिए [[कंप्यूटर प्रोग्रामिंग]] प्रतियोगिता है। वार्षिक रूप से आयोजित, इसे सी की वाक्य-विन्यास अपारदर्शिता का जश्न मनाने के रूप में वर्णित किया गया है।<ref>{{cite journal |url=http://pcworld.co.nz/pcworld/pcw.nsf/how-to/beyond-the-command-line |access-date=2013-04-07 |title=कमांड लाइन से परे|journal=PC World New Zealand|last=Palmer|first=Geoff|date=November 1, 2004 |url-status=dead |archive-url=https://web.archive.org/web/20130210081342/http://pcworld.co.nz/pcworld/pcw.nsf/how-to/beyond-the-command-line |archive-date=February 10, 2013 }}</ref> 2020 में आयोजित 27वीं प्रतियोगिता के लिए विजेता कोड जुलाई 2020 में जारी किया गया था।<ref>{{cite web |url=https://www.ioccc.org/years-spoiler.html |title=स्पॉइलर के साथ पिछले IOCCC विजेता|access-date=2023-05-01 |publisher=IOCCC}}</ref> पिछली प्रतियोगिताएं 1984-1996, 1998, 2000, 2001, 2004-2006, 2011-2015 और 2018-2020 में आयोजित की गई थीं।
'''इंटरनेशनल ऑबफ्यूस्केटेड सी कोड प्रतियोगिता''' (संक्षिप्त आईओसीसीसी) सबसे रचनात्मक रूप से अस्पष्ट कोड C (प्रोग्रामिंग भाषा) स्रोत कोड के लिए [[कंप्यूटर प्रोग्रामिंग]] प्रतियोगिता है। वार्षिक रूप से आयोजित, इसे सी की वाक्य-विन्यास अपारदर्शिता का जश्न मनाने के रूप में वर्णित किया गया है।<ref>{{cite journal |url=http://pcworld.co.nz/pcworld/pcw.nsf/how-to/beyond-the-command-line |access-date=2013-04-07 |title=कमांड लाइन से परे|journal=PC World New Zealand|last=Palmer|first=Geoff|date=November 1, 2004 |url-status=dead |archive-url=https://web.archive.org/web/20130210081342/http://pcworld.co.nz/pcworld/pcw.nsf/how-to/beyond-the-command-line |archive-date=February 10, 2013 }}</ref> 2020 में आयोजित 27वीं प्रतियोगिता के लिए विजेता कोड जुलाई 2020 में जारी किया गया था।<ref>{{cite web |url=https://www.ioccc.org/years-spoiler.html |title=स्पॉइलर के साथ पिछले IOCCC विजेता|access-date=2023-05-01 |publisher=IOCCC}}</ref> पिछली प्रतियोगिताएं 1984-1996, 1998, 2000, 2001, 2004-2006, 2011-2015 और 2018-2020 में आयोजित की गई थीं।                                        


न्यायाधीशों के पैनल द्वारा प्रविष्टियों का मूल्यांकन गुमनाम रूप से किया जाता है। निर्णय प्रक्रिया को प्रतियोगिता दिशानिर्देशों में प्रलेखित किया गया है<ref name=guidelines>{{cite web |url=https://www.ioccc.org/2015/guidelines.txt |title=2015 Guidelines |access-date=2023-05-01 |year=2015 |format=plain text |publisher=IOCCC}}</ref> और उन्मूलन आवेग होता हैं। परंपरा के अनुसार, प्रत्येक प्रतियोगिता के लिए प्रविष्टियों की कुल संख्या के बारे में कोई सूचना नहीं दी जाती है। जीतने वाली प्रविष्टियों को [[सी प्रीप्रोसेसर]] का वर्स्ट एब्यूज या मोस्ट एरेटिक बिहेवियर जैसी श्रेणी से सम्मानित किया जाता है, और फिर आधिकारिक आईओसीसीसी वेबसाइट पर इसकी घोषणा की जाती है। प्रतियोगिता में कहा गया है कि आईओसीसीसी वेबसाइट पर घोषित किया जाना जीत का इनाम है।
न्यायाधीशों के पैनल द्वारा प्रविष्टियों का मूल्यांकन विलुप्त रूप से किया जाता है। निर्णय प्रक्रिया को प्रतियोगिता दिशानिर्देशों में प्रलेखित किया गया है<ref name=guidelines>{{cite web |url=https://www.ioccc.org/2015/guidelines.txt |title=2015 Guidelines |access-date=2023-05-01 |year=2015 |format=plain text |publisher=IOCCC}}</ref> और उन्मूलन आवेग होता हैं। परंपरा के अनुसार प्रत्येक प्रतियोगिता के लिए प्रविष्टियों की कुल संख्या के बारे में कोई सूचना नहीं दी जाती है। जीतने वाली प्रविष्टियों को [[सी प्रीप्रोसेसर]] का वर्स्ट एब्यूज या मोस्ट एरेटिक बिहेवियर जैसी श्रेणी से सम्मानित किया जाता है, और फिर आधिकारिक आईओसीसीसी वेबसाइट पर इसकी घोषणा की जाती है। प्रतियोगिता में कहा गया है कि आईओसीसीसी वेबसाइट पर घोषित किया जाना जीत का इनाम है।


'''केवल कुछ किलोबाइट्स की कोड आकार सीमा के अन्दर, प्रतियोगियों ने जटिल चीजें करने में सफलता प्राप्त की थी 2004 के विजेता ने ऑपरेटिंग सिस्टम को बदल दिया था।<ref name=":1" />'''
== इतिहास                                    ==


== इतिहास ==
आईओसीसीसी की प्रारंभ [[लैंडन कर्ट नोल]] और लैरी बासेल ने 1984 में नेशनल अर्धचालक के जेनिक्स पोर्टिंग ग्रुप में काम करते हुए की थी। प्रतियोगिता के लिए विचार तब आया जब उन्होंने कुछ व्यर्थ लिखे गए कोड के बारे में दूसरे के साथ नोट्स की तुलना की थी, जिसे उन्हें ठीक करना था, विशेष रूप से [[बॉर्न शेल]], जो [[ALGOL 68|एल्गोल 68]] सिंटैक्स का अनुकरण करने के लिए मैक्रोज़ का उपयोग करता था, और बीएसडी के लिए [[उंगली (यूनिक्स)]] का बग्गी संस्करण <ref>{{cite web |url=https://www.ioccc.org/faq.html |title=अक्सर पूछे जाने वाले प्रश्न|publisher=IOCCC |access-date=2023-05-01}}</ref> प्रतियोगिता ही 1993 के कंप्यूटर बाउल में प्रश्नोत्तरी प्रश्न का विषय थी।<ref>[http://nl.newsbank.com/nl-search/we/Archives?p_product=SJ&s_site=mercurynews&p_multi=SJ&p_theme=realcities&p_action=search&p_maxdocs=200&p_topdoc=1&p_text_direct-0=0EB71B1E74EA9019&p_field_direct-0=document_id&p_perpage=10&p_sort=YMD_date:D&s_trackval=GooglePM "Top Execs Fail To Compute Correctly"]. ''[[San Jose Mercury News]]'', California. May 15, 1993. p. 1A. Via [[Newsbank]]. {{subscription required}}</ref> 2006 में प्रारंभ होने वाले पांच वर्षों के अंतराल के बाद, प्रतियोगिता 2011 में लौटी <ref name=SJMerc11>{{cite web|url=https://www.pcworld.com/article/478306/obfuscated_code_contest_returns.html |title=अस्पष्ट कोड प्रतियोगिता वापसी|magazine=[[PC World]]|date=November 15, 2011|last=Jackson|first=Joab|access-date=2023-05-01}}</ref> अन्य प्रोग्रामिंग प्रतियोगिताओं की तुलना में, आईओसीसीसी को डॉ. डॉब के जर्नल के संपादक माइकल स्वेन (तकनीकी लेखक) द्वारा इतना महत्वपूर्ण नहीं बताया गया है।<ref>{{cite journal |url=https://www.drdobbs.com/architecture-and-design/there-must-be-contest/207404123 |title=प्रतियोगिता होनी चाहिए|first=Michael |last=Swaine |author-link=Michael Swaine (technical author) |journal=[[Dr. Dobb's Journal]]|date=May 1, 2008 |access-date=2023-05-01}}</ref>
== नियम                    ==


आईओसीसीसी की प्रारंभ [[लैंडन कर्ट नोल]] और लैरी बासेल ने 1984 में नेशनल अर्धचालक के जेनिक्स पोर्टिंग ग्रुप में काम करते हुए की थी। प्रतियोगिता के लिए विचार तब आया जब उन्होंने कुछ व्यर्थ लिखे गए कोड के बारे में दूसरे के साथ नोट्स की तुलना की थी, जिसे उन्हें ठीक करना था, विशेष रूप से [[बॉर्न शेल]], जो [[ALGOL 68|एल्गोल 68]] सिंटैक्स का अनुकरण करने के लिए मैक्रोज़ का उपयोग करता था, और बीएसडी के लिए [[उंगली (यूनिक्स)]] का बग्गी संस्करण <ref>{{cite web |url=https://www.ioccc.org/faq.html |title=अक्सर पूछे जाने वाले प्रश्न|publisher=IOCCC |access-date=2023-05-01}}</ref> प्रतियोगिता ही 1993 के कंप्यूटर बाउल में प्रश्नोत्तरी प्रश्न का विषय थी।<ref>[http://nl.newsbank.com/nl-search/we/Archives?p_product=SJ&s_site=mercurynews&p_multi=SJ&p_theme=realcities&p_action=search&p_maxdocs=200&p_topdoc=1&p_text_direct-0=0EB71B1E74EA9019&p_field_direct-0=document_id&p_perpage=10&p_sort=YMD_date:D&s_trackval=GooglePM "Top Execs Fail To Compute Correctly"]. ''[[San Jose Mercury News]]'', California. May 15, 1993. p. 1A. Via [[Newsbank]]. {{subscription required}}</ref> 2006 में प्रारंभ होने वाले पांच वर्षों के अंतराल के बाद, प्रतियोगिता 2011 में लौटी <ref name=SJMerc11>{{cite web|url=https://www.pcworld.com/article/478306/obfuscated_code_contest_returns.html |title=अस्पष्ट कोड प्रतियोगिता वापसी|magazine=[[PC World]]|date=November 15, 2011|last=Jackson|first=Joab|access-date=2023-05-01}}</ref> अन्य प्रोग्रामिंग प्रतियोगिताओं की तुलना में, आईओसीसीसी को डॉ. डॉब के जर्नल के संपादक [[माइकल स्वेन (तकनीकी लेखक)]] द्वारा इतना महत्वपूर्ण नहीं बताया गया है।<ref>{{cite journal |url=https://www.drdobbs.com/architecture-and-design/there-must-be-contest/207404123 |title=प्रतियोगिता होनी चाहिए|first=Michael |last=Swaine |author-link=Michael Swaine (technical author) |journal=[[Dr. Dobb's Journal]]|date=May 1, 2008 |access-date=2023-05-01}}</ref>
प्रत्येक वर्ष, प्रतियोगिता के नियम आईओसीसीसी की वेबसाइट पर प्रकाशित किए जाते हैं। सभी पदार्थ क्रिएटिव कॉमन्स लाइसेंस साझा-समान या BY-SA 3.0 अनपोर्टेड के अनुसार प्रकाशित की गई है।<ref>[https://www.ioccc.org/ IOCCC home page, footer], and in each hint.txt file</ref> नियम साल-दर-साल बदलते रहते हैं और दिशानिर्देशों के सेट के साथ पोस्ट किए जाते हैं जो नियमों की भावना को व्यक्त करने का प्रयास करते हैं।
== नियम ==
 
प्रत्येक वर्ष, प्रतियोगिता के नियम आईओसीसीसी की वेबसाइट पर प्रकाशित किए जाते हैं। सभी पदार्थ क्रिएटिव कॉमन्स लाइसेंस [[Share-alike|साझा-समान]] या BY-SA 3.0 अनपोर्टेड के अनुसार प्रकाशित की गई है।<ref>[https://www.ioccc.org/ IOCCC home page, footer], and in each hint.txt file</ref> नियम साल-दर-साल बदलते रहते हैं और दिशानिर्देशों के सेट के साथ पोस्ट किए जाते हैं जो नियमों की भावना को व्यक्त करने का प्रयास करते हैं।


{{Blockquote|text=प्रतियोगिता के नियमों को हैक करना एक परंपरा है। - लैंडन कर्ट नोल, 2011<ref name=SJMerc11 />}}
{{Blockquote|text=प्रतियोगिता के नियमों को हैक करना एक परंपरा है। - लैंडन कर्ट नोल, 2011<ref name=SJMerc11 />}}


नियमों को अधिकांशतः जानबूझकर खामियों के साथ लिखा जाता है कि प्रतियोगियों को खोजने और दुरुपयोग करने के लिए प्रोत्साहित किया जाता है।<ref name=guidelines /> कमियों का लाभ उठाने वाली प्रविष्टियाँ अगले वर्ष की प्रतियोगिता के नियमों को समायोजित करने का कारण बन सकती हैं।<ref name=guidelines />
नियमों को अधिकांशतः जानबूझकर कमियां के साथ लिखा जाता है कि प्रतियोगियों को खोजने और दुरुपयोग करने के लिए प्रोत्साहित किया जाता है।<ref name=guidelines /> कमियों का लाभ उठाने वाली प्रविष्टियाँ अगले वर्ष की प्रतियोगिता के नियमों को समायोजित करने का कारण बन सकती हैं।<ref name=guidelines />
== आक्षेप नियोजित ==
== आक्षेप नियोजित ==


प्रविष्टियाँ अधिकांशतः विचित्र या असामान्य युक्तियाँ का उपयोग करती हैं, जैसे कि C प्रीप्रोसेसर का उपयोग उन चीजों को करने के लिए करना जिन्हें करने के लिए इसे डिज़ाइन नहीं किया गया था (कुछ स्थितियों में सही विधि से, डॉ. डॉब्स के अनुसार,<ref>{{cite web |url=https://www.drdobbs.com/open-source/code-finessing/193104882?pgno=2 |title=कोड चालाकी|magazine=[[Dr. Dobb's Journal]]|author=Spinellis, Diomidis |date=October 5, 2006 |access-date=2023-05-01}}</ref> सी प्रीप्रोसेसर में 11-बिट [[अंकगणितीय तर्क इकाई]] बनाने वाली प्रविष्टि के साथ <ref name="cpp_abuse">[https://www.ioccc.org/2004/vik2.hint IOCCC 2004 - CPP का सबसे अच्छा दुरुपयोग] IOCCC। 2023-05-01 को पुनः प्राप्त किया गया।</ref>), या सी प्रोग्रामिंग भाषा में सामान्य रूप से उपयोग किए जाने वाले निर्माणों से बचने के लिए ही चीज़ को प्राप्त करने के अधिक अस्पष्ट विधियों के पक्ष में उपयोग किया जाता है।
प्रविष्टियाँ अधिकांशतः विचित्र या असामान्य युक्तियाँ का उपयोग करती हैं, जैसे कि C प्रीप्रोसेसर का उपयोग उन चीजों को करने के लिए करना जिन्हें करने के लिए इसे डिज़ाइन नहीं किया गया था (कुछ स्थितियों में सही विधि से, डॉ. डॉब्स के अनुसार,<ref>{{cite web |url=https://www.drdobbs.com/open-source/code-finessing/193104882?pgno=2 |title=कोड चालाकी|magazine=[[Dr. Dobb's Journal]]|author=Spinellis, Diomidis |date=October 5, 2006 |access-date=2023-05-01}}</ref> सी प्रीप्रोसेसर में 11-बिट [[अंकगणितीय तर्क इकाई]] बनाने वाली प्रविष्टि के साथ <ref name="cpp_abuse">[https://www.ioccc.org/2004/vik2.hint IOCCC 2004 - CPP का सबसे अच्छा दुरुपयोग] IOCCC। 2023-05-01 को पुनः प्राप्त किया गया।</ref>), या सी प्रोग्रामिंग भाषा में सामान्य रूप से उपयोग किए जाने वाले निर्माणों से बचने के लिए ही चीज़ को प्राप्त करने के अधिक अस्पष्ट विधियों के पक्ष में उपयोग किया जाता है।


[[एएससीआईआई कला|एएससीआईआई आर्ट]] के विधि के बाद छवियों आदि के समान स्वरूपित स्रोत कोड सम्मिलित है, कोड को पढ़ने के लिए कठिन बनाने के लिए प्रीप्रोसेसर पुनर्वितरण, और [[स्व-संशोधित कोड]] कई वर्षों में, प्रविष्टि प्रस्तुत की गई थी जिसके लिए अगले वर्ष के कुछ नियमों की नई परिभाषा की आवश्यकता थी। यह उच्च सम्मान के रूप में माना जाता है। इसका उदाहरण संसार का सबसे छोटा क्विन (कंप्यूटिंग) या स्व-पुनरुत्पादन प्रोग्राम है। प्रविष्टि अपने स्वयं के स्रोत कोड को आउटपुट करने के लिए डिज़ाइन किया गया प्रोग्राम था, और जिसमें स्रोत कोड के शून्य बाइट थे। जब प्रोग्राम चल रहा था, जिससे यह अपने स्रोत कोड के बराबर शून्य बाइट्स प्रिंट करता था।<ref>{{cite web|year=1994|title=smr.संकेत|url=https://www.ioccc.org/1994/smr.संकेत|access-date=2006-09-16|publisher=IOCCC|format=plain text}}</ref>
[[एएससीआईआई कला|एएससीआईआई आर्ट]] के विधि के बाद छवियों आदि के समान स्वरूपित स्रोत कोड सम्मिलित है, कोड को पढ़ने के लिए कठिन बनाने के लिए प्रीप्रोसेसर पुनर्वितरण, और [[स्व-संशोधित कोड]] कई वर्षों में, प्रविष्टि प्रस्तुत की गई थी जिसके लिए अगले वर्ष के कुछ नियमों की नई परिभाषा की आवश्यकता थी। यह उच्च सम्मान के रूप में माना जाता है। इसका उदाहरण संसार का सबसे छोटा क्विन (कंप्यूटिंग) या स्व-पुनरुत्पादन प्रोग्राम है। प्रविष्टि अपने स्वयं के स्रोत कोड को आउटपुट करने के लिए डिज़ाइन किया गया प्रोग्राम था, और जिसमें स्रोत कोड के शून्य बाइट थे। जब प्रोग्राम चल रहा था, जिससे यह अपने स्रोत कोड के समान शून्य बाइट्स प्रिंट करता था।<ref>{{cite web|year=1994|title=smr.संकेत|url=https://www.ioccc.org/1994/smr.संकेत|access-date=2006-09-16|publisher=IOCCC|format=plain text}}</ref>


अस्पष्टता को अपने चरम सीमा तक ले जाने के प्रयास में, प्रतियोगियों ने ऐसे प्रोग्राम तैयार किए हैं जो सी मानकों के किनारों के चारों ओर स्कर्ट करते हैं, या ऐसे निर्माण होते हैं जो संकलक में संभवतः ही कभी उपयोग किए जाने वाले कोड पथ संयोजनों को ट्रिगर करते हैं। परिणामस्वरूप, पिछली कई प्रविष्टियाँ आधुनिक कंपाइलर में सीधे संकलित नहीं हो सकती हैं, और कुछ क्रैश का कारण बन सकती हैं।
अस्पष्टता को अपने चरम सीमा तक ले जाने के प्रयास में, प्रतियोगियों ने ऐसे प्रोग्राम तैयार किए हैं जो सी मानकों के किनारों के चारों ओर स्कर्ट करते हैं, या ऐसे निर्माण होते हैं जो संकलक में संभवतः ही कभी उपयोग किए जाने वाले कोड पथ संयोजनों को ट्रिगर करते हैं। परिणामस्वरूप, पिछली कई प्रविष्टियाँ आधुनिक कंपाइलर में सीधे संकलित नहीं हो सकती हैं, और कुछ क्रैश का कारण बन सकती हैं।
Line 66: Line 64:
केवल कुछ किलोबाइट्स की कोड आकार सीमा के अन्दर, प्रतियोगियों ने जटिल चीजें करने में सफलता प्राप्त की थी 2004 के विजेता ने ऑपरेटिंग सिस्टम को बदल दिया था।<ref name=":1">{{cite web| url=https://www.ioccc.org/2004/gavin.hint |title=gavin.hint3 |year=2004 |format=plain text |publisher=IOCCC |access-date=2023-05-01}}</ref>
केवल कुछ किलोबाइट्स की कोड आकार सीमा के अन्दर, प्रतियोगियों ने जटिल चीजें करने में सफलता प्राप्त की थी 2004 के विजेता ने ऑपरेटिंग सिस्टम को बदल दिया था।<ref name=":1">{{cite web| url=https://www.ioccc.org/2004/gavin.hint |title=gavin.hint3 |year=2004 |format=plain text |publisher=IOCCC |access-date=2023-05-01}}</ref>
=== टोलेडो नैनोचेस ===
=== टोलेडो नैनोचेस ===
टोलेडो नैनोचेस मैक्सिकन सॉफ्टवेयर डेवलपर ऑस्कर टोलेडो गुतिरेज़, आईओसीसीसी के पांच बार विजेता द्वारा बनाया गया [[शतरंज इंजन|चैस इंजन]] है। आईओसीसीसी नियमों के अनुसार, यह 1255 वर्ण लंबा है। लेखक का प्रमाणित है कि यह सी भाषा में लिखा गया संसार का सबसे छोटा चैस प्रोग्राम है।
टोलेडो नैनोचेस मैक्सिकन सॉफ्टवेयर डेवलपर ऑस्कर टोलेडो गुतिरेज़, आईओसीसीसी के पांच बार विजेता द्वारा बनाया गया चैस इंजन है। आईओसीसीसी नियमों के अनुसार, यह 1255 वर्ण लंबा है। लेखक का प्रमाणित है कि यह सी भाषा में लिखा गया संसार का सबसे छोटा चैस प्रोग्राम है।


टोलेडो नैनोचेस और अन्य इंजनों के लिए स्रोत कोड उपलब्ध है।<ref>{{cite web |url=https://nanochess.org/chess3.html |title=Toledo Nanochess and Toledo Picochess}}</ref> क्योंकि टोलेडो नैनोचेस 18वें आईओसीसीसी (सर्वश्रेष्ठ खेल) से टोलेडो की विजयी प्रविष्टि पर आधारित है <ref>{{cite web |url=https://www.ioccc.org/winners.html#Oscar_Toledo_G. |title=Winners: The authors of winning IOCCC entries}}</ref>), यह भारी अस्पष्ट कोड है।<ref>{{cite web |url=https://github.com/bormand/nanochess |title=नैनोचेस आंशिक रूप से अस्पष्टीकृत संस्करण|website=[[GitHub]] |access-date=1 May 2023}}</ref>
टोलेडो नैनोचेस और अन्य इंजनों के लिए स्रोत कोड उपलब्ध है।<ref>{{cite web |url=https://nanochess.org/chess3.html |title=Toledo Nanochess and Toledo Picochess}}</ref> क्योंकि टोलेडो नैनोचेस 18वें आईओसीसीसी (सर्वश्रेष्ठ खेल) से टोलेडो की विजयी प्रविष्टि पर आधारित है <ref>{{cite web |url=https://www.ioccc.org/winners.html#Oscar_Toledo_G. |title=Winners: The authors of winning IOCCC entries}}</ref>), यह भारी अस्पष्ट कोड है।<ref>{{cite web |url=https://github.com/bormand/nanochess |title=नैनोचेस आंशिक रूप से अस्पष्टीकृत संस्करण|website=[[GitHub]] |access-date=1 May 2023}}</ref>
Line 284: Line 282:
== यह भी देखें ==
== यह भी देखें ==
* अस्पष्ट पर्ल प्रतियोगिता
* अस्पष्ट पर्ल प्रतियोगिता
* [[गुप्त सी प्रतियोगिता|अंडरहैंडेड सी प्रतियोगिता]]
* अंडरहैंडेड सी प्रतियोगिता
* [[गूढ़ प्रोग्रामिंग भाषा|इसोटेरिक प्रोग्रामिंग भाषा]]
* [[गूढ़ प्रोग्रामिंग भाषा|इसोटेरिक प्रोग्रामिंग भाषा]]


Line 293: Line 291:
==बाहरी संबंध==
==बाहरी संबंध==
*{{official|https://www.ioccc.org/}}
*{{official|https://www.ioccc.org/}}
[[Category: सी (प्रोग्रामिंग भाषा) प्रतियोगिताएं]] [[Category: कंप्यूटर हास्य]] [[Category: सॉफ्टवेयर अस्पष्टता]] [[Category: विडंबनापूर्ण और विनोदी पुरस्कार]] [[Category: 1984 में स्थापित आवर्ती घटनाएं]]


[[Category: Machine Translated Page]]
[[Category:1984 में स्थापित आवर्ती घटनाएं]]
[[Category:All articles that may contain original research]]
[[Category:Articles that may contain original research from April 2017]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Created On 14/06/2023]]
[[Category:Created On 14/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Official website not in Wikidata]]
[[Category:Pages containing links to subscription-only content]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:कंप्यूटर हास्य]]
[[Category:विडंबनापूर्ण और विनोदी पुरस्कार]]
[[Category:सी (प्रोग्रामिंग भाषा) प्रतियोगिताएं]]
[[Category:सॉफ्टवेयर अस्पष्टता]]

Latest revision as of 11:59, 2 July 2023

अंतर्राष्ट्रीय अस्पष्ट सी कोड प्रतियोगिता
IOCCC.png
आईओसीसीसी का लोगो
Statusसक्रिय
Genreकोडिंग प्रतियोगिता
Frequencyप्रतिवर्ष
Years active1984–1996, 1998, 2000, 2001, 2004–2006, 2011–2015, 2018-वर्तमान
Inaugurated1984 (1984)
Foundersलैंडन कर्ट नोल, लैरी बासेल
Websitewww.ioccc.org

इंटरनेशनल ऑबफ्यूस्केटेड सी कोड प्रतियोगिता (संक्षिप्त आईओसीसीसी) सबसे रचनात्मक रूप से अस्पष्ट कोड C (प्रोग्रामिंग भाषा) स्रोत कोड के लिए कंप्यूटर प्रोग्रामिंग प्रतियोगिता है। वार्षिक रूप से आयोजित, इसे सी की वाक्य-विन्यास अपारदर्शिता का जश्न मनाने के रूप में वर्णित किया गया है।[1] 2020 में आयोजित 27वीं प्रतियोगिता के लिए विजेता कोड जुलाई 2020 में जारी किया गया था।[2] पिछली प्रतियोगिताएं 1984-1996, 1998, 2000, 2001, 2004-2006, 2011-2015 और 2018-2020 में आयोजित की गई थीं।

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

इतिहास

आईओसीसीसी की प्रारंभ लैंडन कर्ट नोल और लैरी बासेल ने 1984 में नेशनल अर्धचालक के जेनिक्स पोर्टिंग ग्रुप में काम करते हुए की थी। प्रतियोगिता के लिए विचार तब आया जब उन्होंने कुछ व्यर्थ लिखे गए कोड के बारे में दूसरे के साथ नोट्स की तुलना की थी, जिसे उन्हें ठीक करना था, विशेष रूप से बॉर्न शेल, जो एल्गोल 68 सिंटैक्स का अनुकरण करने के लिए मैक्रोज़ का उपयोग करता था, और बीएसडी के लिए उंगली (यूनिक्स) का बग्गी संस्करण [4] प्रतियोगिता ही 1993 के कंप्यूटर बाउल में प्रश्नोत्तरी प्रश्न का विषय थी।[5] 2006 में प्रारंभ होने वाले पांच वर्षों के अंतराल के बाद, प्रतियोगिता 2011 में लौटी [6] अन्य प्रोग्रामिंग प्रतियोगिताओं की तुलना में, आईओसीसीसी को डॉ. डॉब के जर्नल के संपादक माइकल स्वेन (तकनीकी लेखक) द्वारा इतना महत्वपूर्ण नहीं बताया गया है।[7]

नियम

प्रत्येक वर्ष, प्रतियोगिता के नियम आईओसीसीसी की वेबसाइट पर प्रकाशित किए जाते हैं। सभी पदार्थ क्रिएटिव कॉमन्स लाइसेंस साझा-समान या BY-SA 3.0 अनपोर्टेड के अनुसार प्रकाशित की गई है।[8] नियम साल-दर-साल बदलते रहते हैं और दिशानिर्देशों के सेट के साथ पोस्ट किए जाते हैं जो नियमों की भावना को व्यक्त करने का प्रयास करते हैं।

प्रतियोगिता के नियमों को हैक करना एक परंपरा है। - लैंडन कर्ट नोल, 2011[6]

नियमों को अधिकांशतः जानबूझकर कमियां के साथ लिखा जाता है कि प्रतियोगियों को खोजने और दुरुपयोग करने के लिए प्रोत्साहित किया जाता है।[3] कमियों का लाभ उठाने वाली प्रविष्टियाँ अगले वर्ष की प्रतियोगिता के नियमों को समायोजित करने का कारण बन सकती हैं।[3]

आक्षेप नियोजित

प्रविष्टियाँ अधिकांशतः विचित्र या असामान्य युक्तियाँ का उपयोग करती हैं, जैसे कि C प्रीप्रोसेसर का उपयोग उन चीजों को करने के लिए करना जिन्हें करने के लिए इसे डिज़ाइन नहीं किया गया था (कुछ स्थितियों में सही विधि से, डॉ. डॉब्स के अनुसार,[9] सी प्रीप्रोसेसर में 11-बिट अंकगणितीय तर्क इकाई बनाने वाली प्रविष्टि के साथ [10]), या सी प्रोग्रामिंग भाषा में सामान्य रूप से उपयोग किए जाने वाले निर्माणों से बचने के लिए ही चीज़ को प्राप्त करने के अधिक अस्पष्ट विधियों के पक्ष में उपयोग किया जाता है।

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

अस्पष्टता को अपने चरम सीमा तक ले जाने के प्रयास में, प्रतियोगियों ने ऐसे प्रोग्राम तैयार किए हैं जो सी मानकों के किनारों के चारों ओर स्कर्ट करते हैं, या ऐसे निर्माण होते हैं जो संकलक में संभवतः ही कभी उपयोग किए जाने वाले कोड पथ संयोजनों को ट्रिगर करते हैं। परिणामस्वरूप, पिछली कई प्रविष्टियाँ आधुनिक कंपाइलर में सीधे संकलित नहीं हो सकती हैं, और कुछ क्रैश का कारण बन सकती हैं।

उदाहरण

केवल कुछ किलोबाइट्स की कोड आकार सीमा के अन्दर, प्रतियोगियों ने जटिल चीजें करने में सफलता प्राप्त की थी 2004 के विजेता ने ऑपरेटिंग सिस्टम को बदल दिया था।[12]

टोलेडो नैनोचेस

टोलेडो नैनोचेस मैक्सिकन सॉफ्टवेयर डेवलपर ऑस्कर टोलेडो गुतिरेज़, आईओसीसीसी के पांच बार विजेता द्वारा बनाया गया चैस इंजन है। आईओसीसीसी नियमों के अनुसार, यह 1255 वर्ण लंबा है। लेखक का प्रमाणित है कि यह सी भाषा में लिखा गया संसार का सबसे छोटा चैस प्रोग्राम है।

टोलेडो नैनोचेस और अन्य इंजनों के लिए स्रोत कोड उपलब्ध है।[13] क्योंकि टोलेडो नैनोचेस 18वें आईओसीसीसी (सर्वश्रेष्ठ खेल) से टोलेडो की विजयी प्रविष्टि पर आधारित है [14]), यह भारी अस्पष्ट कोड है।[15]

2 फरवरी 2014 को, लेखक ने टोलेडो नैनोचेस टिप्पणी स्रोत कोड पुस्तक प्रकाशित की थी, जिसमें पूरी तरह से टिप्पणी स्रोत कोड सम्मिलित है।[16] 7 फरवरी, 2010 तक, यह केवल दो चैस इंजनों में से प्रतीत होता है, जो 2 किलोबाइट्स से कम में लिखा गया है, जो डच भौतिक विज्ञानी एचजी मुलर द्वारा माइक्रो-मैक्स के साथ पूर्ण नियमबद्ध चैस चालें चलाने में सक्षम हैं। 2014 में सुपर माइक्रो चैस ने 1 किलोबाइट के बैरियर को तोड़ा था [17] माइक्रो-मैक्स का व्युत्पन्न कुल 760 वर्ण (रिक्त स्थान और न्यूलाइन सम्मिलित) [18] टोलेडो के इंजन का छोटा संस्करण भी है, टोलेडो पिकोचेस, जिसमें 944 गैर-रिक्त वर्ण सम्मिलित हैं।

'स्रोत कोड अंश'

B,i,y,u,b,I[411],*G=I,x=10,z=15,M=1e4;X(w,c,h,e,S,s){int t,o,L,E,d,O=e,N=-M*M,K
=78-h<<x,p,*g,n,*m,A,q,r,C,J,a=y?-x:x;y^=8;G++;d=w||s&&s>=h&&v 0,0)>M;do{_ o=I[
p=O]){q=o&z^y _ q<7){A=q--&2?8:4;C=o-9&z?q["& .$  "]:42;do{r=I[p+=C[l]-64]_!w|p
==w){g=q|p+a-S?0:I+S _!r&(q|A<3||g)||(r+1&z^y)>9&&q|A>2){_ m=!(r-2&7))P G[1]=O,
K;J=n=o&z;E=I[p-a]&z;t=q|E-7?n:(n+=2,6^y);Z n<=t){L=r?l[r&7]*9-189-h-q:0 _ s)L
+=(1-q?l[p/x+5]-l[O/x+5]+l[p%x+6]*-~!q-l[O%x+6]+o/16*8:!!m*9)+(q?0:!(I[p-1]^n)+
!(I[p+1]^n)+l[n&7]*9-386+!!g*99+(A<2))+!(E^y^9)_ s>h||1<s&s==h&&L>z|d){p[I]=n,O
[I]=m?*g=*m,*m=0:g?*g=0:0;L-=X(s>h|d?0:p,L-N,h+1,G[1],J=q|A>1?0:p,s)_!(h||s-1|B
-O|i-n|p-b|L<-M))P y^=8,u=J;J=q-1|A<7||m||!s|d|r|o<z||v 0,0)>M;O[I]=o;p[I]=r;m?
*m=*g,*g=0:g?*g=9^y:0;}_ L>N){*G=O _ s>1){_ h&&c-L<0)P L _!h)i=n,B=O,b=p;}N=L;}
n+=J||(g=I+p,m=p<O?g-3:g+2,*m<z|m[O-p]||I[p+=p-O]);}}}}Z!r&q>2||(p=O,q|A>2|o>z&
!r&&++C*--A));}}}Z++O>98?O=20:e-O);P N+M*M&&N>-K+1924|d?N:0;}main(){Z++B<121)*G
++=B/x%x<2|B%x<2?7:B/x&4?0:*l++&31;Z B=19){Z B++<99)putchar(B%x?l[B[I]|16]:x)_
x-(B=F)){i=I[B+=(x-F)*x]&z;b=F;b+=(x-F)*x;Z x-(*G=F))i=*G^8^y;}else v u,5);v u,
1);}}

पाई

नीचे 1988 की प्रविष्टि है जो अपने क्षेत्र को देखकर पाई की गणना करती है:[19]

#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}

(यह प्रविष्टि के&आर सी में लिखी गई थी; यह कुछ बदलावों के बिना एएनएसआई सी में ठीक से काम नहीं करती है।[20])

फ्लाइट सिम्युलेटर

एक अन्य उदाहरण निम्नलिखित फ्लाइट सिम्युलेटर है, जो 1998 आईओसीसीसी का विजेता है,[21] परिकलित दांव: कंप्यूटर, जुआ और जीतने के लिए गणितीय मॉडलिंग (2001) में सूचीबद्ध और वर्णित के रूप में उपयोग किया जाता है [22] और नीचे दिखाया गया है:

#include                                     <math.h>
#include                                   <sys/time.h>
#include                                   <X11/Xlib.h>
#include                                  <X11/keysym.h>
                                          double L ,o ,P
                                         ,_=dt,T,Z,D=1,d,
                                         s[999],E,h= 8,I,
                                         J,K,w[999],M,m,O
                                        ,n[999],j=33e-3,i=
                                        1E3,r,t, u,v ,W,S=
                                        74.5,l=221,X=7.26,
                                        a,B,A=32.2,c, F,H;
                                        int N,q, C, y,p,U;
                                       Window z; char f[52]
                                    ; GC k; main(){ Display*e=
 XOpenDisplay( 0); z=RootWindow(e,0); for (XSetForeground(e,k=XCreateGC (e,z,0,0),BlackPixel(e,0))
; scanf("%lf%lf%lf",y +n,w+y, y+s)+1; y ++); XSelectInput(e,z= XCreateSimpleWindow(e,z,0,0,400,400,
0,0,WhitePixel(e,0) ),KeyPressMask); for(XMapWindow(e,z); ; T=sin(O)){ struct timeval G={ 0,dt*1e6}
; K= cos(j); N=1e4; M+= H*_; Z=D*K; F+=_*P; r=E*K; W=cos( O); m=K*W; H=K*T; O+=D*_*F/ K+d/K*E*_; B=
sin(j); a=B*T*D-E*W; XClearWindow(e,z); t=T*E+ D*B*W; j+=d*_*D-_*F*E; P=W*E*B-T*D; for (o+=(I=D*W+E
*T*B,E*d/K *B+v+B/K*F*D)*_; p<y; ){ T=p[s]+i; E=c-p[w]; D=n[p]-L; K=D*m-B*T-H*E; if(p [n]+w[ p]+p[s
]== 0|K <fabs(W=T*r-I*E +D*P) |fabs(D=t *D+Z *T-a *E)> K)N=1e4; else{ q=W/K *4E2+2e2; C= 2E2+4e2/ K
 *D; N-1E4&& XDrawLine(e ,z,k,N ,U,q,C); N=q; U=C; } ++p; } L+=_* (X*t +P*M+m*l); T=X*X+ l*l+M *M;
  XDrawString(e,z,k ,20,380,f,17); D=v/l*15; i+=(B *l-M*r -X*Z)*_; for(; XPending(e); u *=CS!=N){
                                   XEvent z; XNextEvent(e ,&z);
                                       ++*((N=XLookupKeysym
                                         (&z.xkey,0))-IT?
                                         N-LT? UP-N?& E:&
                                         J:& u: &h); --*(
                                         DN -N? N-DT ?N==
                                         RT?&u: & W:&h:&J
                                          ); } m=15*F/l;
                                          c+=(I=M/ l,l*H
                                          +I*M+a*X)*_; H
                                          =A*r+v*X-F*l+(
                                          E=.1+X*4.9/l,t
                                          =T*m/32-I*T/24
                                           )/S; K=F*M+(
                                           h* 1e4/l-(T+
                                           E*5*T*E)/3e2
                                           )/S-X*d-B*A;
                                           a=2.63 /l*d;
                                           X+=( d*l-T/S
                                            *(.19*E +a
                                            *.64+J/1e3
                                            )-M* v +A*
                                            Z)*_; l +=
                                            K *_; W=d;
                                            sprintf(f,
                                            "%5d  %3d"
                                            "%7d",p =l
                                           /1.7,(C=9E3+
                              O*57.3)%0550,(int)i); d+=T*(.45-14/l*
                             X-a*130-J* .14)*_/125e2+F*_*v; P=(T*(47
                             *I-m* 52+E*94 *D-t*.38+u*.21*E) /1e2+W*
                             179*v)/2312; select(p=0,0,0,0,&G); v-=(
                              W*F-T*(.63*m-I*.086+m*E*19-D*25-.11*u
                               )/107e2)*_; D=cos(o); E=sin(o); } }
फ्लाइट सिम्युलेटर के पिट्सबर्ग दृश्य

इस प्रोग्राम को संकलित करने के लिए लिनक्स सिस्टम पर निम्न कमांड लाइन की आवश्यकता है:[21]

cc banks.c -o banks -DIT=XK_Page_Up -DDT=XK_Page_Down \
	-DUP=XK_Up -DDN=XK_Down -DLT=XK_Left -DRT=XK_Right \
	-DCS=XK_Return -Ddt=0.02 -lm -lX11 -L/usr/X11R6/lib

बाइनरी फ़ाइल चलाने के लिए (banks) इसे के साथ आपूर्ति की जानी है .sc दृश्य फ़ाइल मानक इनपुट के माध्यम से stdin इनपुट होता है:[21]

 cat pittsburgh.sc | ./banks

अकरी

नीचे 2011 प्रविष्टि है जो डॉन, यांग द्वारा एसीआईआई छवि को कम करती है:[23]

                                       /*
                                      +
                                     +
                                    +
                                    +
                                    [         >i>n[t
                                     */   #include<stdio.h>
                        /*2w0,1m2,]_<n+a m+o>r>i>=>(['0n1'0)1;
                     */int/**/main(int/**/n,char**m){FILE*p,*q;int        A,k,a,r,i/*
                   #uinndcelfu_dset<rsitcdti_oa.nhs>i/_*/;char*d="P%"   "d\n%d\40%d"/**/
                 "\n%d\n\00wb+",b[1024],y[]="yuriyurarararayuruyuri*daijiken**akkari~n**"
          "/y*u*k/riin<ty(uyr)g,aur,arr[a1r2a82*y2*/u*r{uyu}riOcyurhiyua**rrar+*arayra*="
       "yuruyurwiyuriyurara'rariayuruyuriyuriyu>rarararayuruy9uriyu3riyurar_aBrMaPrOaWy^?"
      "*]/f]`;hvroai<dp/f*i*s/<ii(f)a{tpguat<cahfaurh(+uf)a;f}vivn+tf/g*`*w/jmaa+i`ni("/**
     */"i+k[>+b+i>++b++>l[rb";int/**/u;for(i=0;i<101;i++)y[i*2]^="~hktrvg~dmG*eoa+%squ#l2"
     ":(wn\"1l))v?wM353{/Y;lgcGp`vedllwudvOK`cct~[|ju {stkjalor(stwvne\"gt\"yogYURUYURI"[
     i]^y[i*2+1]^4;/*!*/p=(n>1&&(m[1][0]-'-'||m[1][1]  !='\0'))?fopen(m[1],y+298):stdin;
      /*y/riynrt~(^w^)],]c+h+a+r+*+*[n>)+{>f+o<r<(-m]    =<2<5<64;}-]-(m+;yry[rm*])/[*
       */q=(n<3||!(m[2][0]-'-'||m[2][1]))?stdout /*]{     }[*/:fopen(m[2],d+14);if(!p||/*
       "]<<*-]>y++>u>>+r >+u+++y>--u---r>++i+++"  <)<      ;[>-m-.>a-.-i.++n.>[(w)*/!q/**/)
    return+printf("Can "  "not\x20open\40%s\40"    ""       "for\40%sing\n",m[!p?1:2],!p?/*
  o=82]5<<+(+3+1+&.(+  m  +-+1.)<)<|<|.6>4>-+(>    m-        &-1.9-2-)-|-|.28>-w-?-m.:>([28+
 */"read":"writ");for  (   a=k=u= 0;y[u];  u=2    +u){y[k++   ]=y[u];}if((a=fread(b,1,1024/*
,mY/R*Y"R*/,p/*U*/)/*          R*/ )>/*U{  */   2&& b/*Y*/[0]/*U*/=='P' &&4==/*"y*r/y)r\}
*/sscanf(b,d,&k,& A,&           i,  &r)&&        !   (k-6&&k -5)&&r==255){u=A;if(n>3){/*
]&<1<6<?<m.-+1>3> +:+ .1>3+++     .   -m-)      -;.u+=++.1<0< <; f<o<r<(.;<([m(=)/8*/
u++;i++;}fprintf   (q,    d,k,           u      >>1,i>>1,r);u  = k-5?8:4;k=3;}else
  /*]>*/{(u)=/*{   p> >u  >t>-]s                >++(.yryr*/+(    n+14>17)?8/4:8*5/
     4;}for(r=i=0  ;  ;){u*=6;u+=                (n>3?1:0);if    (y[u]&01)fputc(/*
      <g-e<t.c>h.a r  -(-).)8+<1.                 >;+i.(<)<     <)+{+i.f>([180*/1*
      (r),q);if(y[u   ]&16)k=A;if                               (y[u]&2)k--;if(i/*
      ("^w^NAMORI; {   I*/==a/*"                               )*/){/**/i=a=(u)*11
       &255;if(1&&0>=     (a=                                 fread(b,1,1024,p))&&
        ")]i>(w)-;} {                                         /i-f-(-m--M1-0.)<{"
         [ 8]==59/* */                                       )break;i=0;}r=b[i++]
            ;u+=(/**>>                                     *..</<<<)<[[;]**/+8&*
            (y+u))?(10-              r?4:2):(y[u]         &4)?(k?2:4):2;u=y[u/*
             49;7i\(w)/;}             y}ru\=*ri[        ,mc]o;n}trientuu ren (
             */]-(int)'`';}             fclose(          p);k= +fclose( q);
              /*] <*.na/m*o{ri{                       d;^w^;}  }^_^}}
               "   */   return  k-                -1+   /*\'   '-`*/
                     (   -/*}/   */0x01        );       {;{    }}
                            ;           /*^w^*/        ;}

यदि प्रोग्राम इनपुट के रूप में अपने स्वयं के स्रोत का उपयोग करके चलाया जाता है, जिससे परिणाम है:

[root@host ~]# ./akari akari.c 
                   
                  
                       int
            *w,m,_namori=('n');
         #include<stdio.h>/*;hrd"%  dnd4%"*/
     /**/int(y),u,r[128*2/*{y}icuhya*rr*rya=
   */];void/**/i(){putchar(u);}int/**/main(/*
  "(n"l)?M5{YlcpvdluvKct[j skao(tve"t"oYRYR"
   */int(w),char**n){for(m  =256;--m;r[m]/*
   "<*]y+u>r>u+y-u-r+i+" )   ;>m.a.i+n>()/q*/
 =25<(31&( m -1))||64-(  m    &192)||2>w?m:(2+
m/*"*,/U//     R/)/U *  & /Y/0/U/=P &=/"*/)\
&16?m-13 : 13+     m)   ;u=+10 ;for(;(m=/*
 *>/()/{ p u t-s        +(yy*+  n1>7?/:*/
   getchar ())+1         ;i()   ){if(10/*
   "wNMR;{ I/=/"               )/{*/==u*1
    )i();                      if(m-10){
      u=/*>                  *./<)[;*/8*
      4;i();       }u=r[    m];}return(
       * *n/*{i            ;w; }_}
          ( -*/ *00    )    ;  }
[root@host ~]# ./akari akari.c > ./akari.small
[root@host ~]# ./akari ./akari.small 
         
      wm_aoi(n)
  /*ity,,[2*/{}char*y=
 (")M{lpduKtjsa(v""YY"
 "*yuruyuri") ;main(/*
/",U/  R)U*  Y0U= ="/\
*/){puts    (y+ 17/*
 "NR{I="       ){/=*
   =*         */);/*
   **/{      ;;}}
[root@host ~]# 
[root@host ~]# ./akari ./akari.small > ./akari.smaller
[root@host ~]# ./akari ./akari.smaller
   main
(){puts("Y"
"U RU YU "\
"RI"   )/*
 */   ;}
[root@host ~]#

यह भी देखें

नोट्स और संदर्भ

  1. Palmer, Geoff (November 1, 2004). "कमांड लाइन से परे". PC World New Zealand. Archived from the original on February 10, 2013. Retrieved 2013-04-07.
  2. "स्पॉइलर के साथ पिछले IOCCC विजेता". IOCCC. Retrieved 2023-05-01.
  3. 3.0 3.1 3.2 "2015 Guidelines" (plain text). IOCCC. 2015. Retrieved 2023-05-01.
  4. "अक्सर पूछे जाने वाले प्रश्न". IOCCC. Retrieved 2023-05-01.
  5. "Top Execs Fail To Compute Correctly". San Jose Mercury News, California. May 15, 1993. p. 1A. Via Newsbank. (subscription required)
  6. 6.0 6.1 Jackson, Joab (November 15, 2011). "अस्पष्ट कोड प्रतियोगिता वापसी". PC World. Retrieved 2023-05-01.
  7. Swaine, Michael (May 1, 2008). "प्रतियोगिता होनी चाहिए". Dr. Dobb's Journal. Retrieved 2023-05-01.
  8. IOCCC home page, footer, and in each hint.txt file
  9. Spinellis, Diomidis (October 5, 2006). "कोड चालाकी". Dr. Dobb's Journal. Retrieved 2023-05-01.
  10. IOCCC 2004 - CPP का सबसे अच्छा दुरुपयोग IOCCC। 2023-05-01 को पुनः प्राप्त किया गया।
  11. "smr.संकेत" (plain text). IOCCC. 1994. Retrieved 2006-09-16.
  12. "gavin.hint3" (plain text). IOCCC. 2004. Retrieved 2023-05-01.
  13. "Toledo Nanochess and Toledo Picochess".
  14. "Winners: The authors of winning IOCCC entries".
  15. "नैनोचेस आंशिक रूप से अस्पष्टीकृत संस्करण". GitHub. Retrieved 1 May 2023.
  16. Toledo Gutiérrez, Oscar (2014). Toledo Nanochess: The commented source code. Lulu. ISBN 978-1-304-86437-6.
  17. "सुपर माइक्रो शतरंज इंजन - होम पेज - अत्यधिक कॉम्पैक्ट सी स्रोत और निष्पादन योग्य कार्यक्रम का आकार". smmax.sourceforge.net.
  18. "Super Micro FIDE 760".
  19. "westley.c", 5th International Obfuscated C Code Contest 1988
  20. using gcc, compile with the following command line: gcc -traditional-cpp -o r r.c or gcc -E r.c | sed 's/- -/--/g' > r2.c ; gcc -o r2 r2.c (The source file is r.c)[original research?]
  21. 21.0 21.1 21.2 Carl Banks' Blog: IOCCC Flight Simulator. blog.aerojockey.com. Retrieved 2023-05-01.
  22. Skiena, Steven (2001). Calculated Bets: Computers, Gambling, and Mathematical Modeling to Win. The Mathematical Association of America. pp. 152, 153. ISBN 978-0521009621.
  23. "Winners: The authors of winning IOCCC entries". www.ioccc.org. Retrieved 2023-05-01.


बाहरी संबंध