งานของคุณคือการสร้างวงที่ไม่มีที่สิ้นสุดที่สั้นที่สุด!
จุดสำคัญของความท้าทายนี้คือการสร้างลูปแบบไม่สิ้นสุดที่ไม่สร้างเอาต์พุต เหตุผลนี้เป็นเพราะรหัสอาจสั้นลงหากไม่มีการส่งออก
กฎระเบียบ
- การส่งแต่ละครั้งจะต้องเป็นโปรแกรมเต็มรูปแบบ
- คุณต้องสร้างการวนซ้ำแบบไม่สิ้นสุดที่สั้นที่สุด
- แม้ว่าในที่สุดโปรแกรมของคุณจะมีหน่วยความจำไม่เพียงพอก็ตามก็ยังคงได้รับการยอมรับตราบใดที่มีการเรียกใช้ตลอดเวลาตั้งแต่เริ่มต้นจนถึงเมื่อหน่วยความจำไม่เพียงพอ นอกจากนี้เมื่อหน่วยความจำไม่เพียงพอก็ยังไม่ควรพิมพ์สิ่งใดไปยัง STDERR
- โปรแกรมต้องไม่มีการป้อนข้อมูล (อย่างไรก็ตามอนุญาตให้อ่านจากไฟล์) และไม่ควรพิมพ์อะไรไปยัง STDOUT ห้ามส่งออกไปยังไฟล์
- โปรแกรมจะต้องไม่เขียนอะไรไปยัง STDERR
- อย่าลังเลที่จะใช้ภาษา (หรือรุ่นภาษา) แม้ว่ามันจะใหม่กว่าความท้าทายนี้ - โปรดทราบว่าจะต้องมีล่ามเพื่อให้สามารถส่งการทดสอบได้ ได้รับอนุญาต (และสนับสนุนให้) เขียนล่ามนี้ด้วยตัวคุณเองสำหรับภาษาที่ยังไม่ได้ใช้งานมาก่อน : D
- ส่งเป็นคะแนนในไบต์ในการเข้ารหัสที่เหมาะสม (ที่มีอยู่ก่อน) โดยปกติ (แต่ไม่จำเป็น) UTF-8 บางภาษาเช่นโฟลเดอร์มีความยุ่งยากเล็กน้อยในการให้คะแนน - หากมีข้อสงสัยกรุณาถาม Meta
- นี่ไม่เกี่ยวกับการค้นหาภาษาด้วยโปรแกรมวนรอบสั้นที่ไม่มีที่สิ้นสุด นี่คือการค้นหาโปรแกรมวนรอบสั้นที่สั้นที่สุดในทุกภาษา ดังนั้นฉันจะไม่ยอมรับคำตอบ
- หากภาษาที่คุณเลือกเป็นภาษาที่แตกต่างกันเล็กน้อยของภาษาอื่น (อาจเป็นที่นิยมมากกว่า) ซึ่งมีคำตอบอยู่แล้ว (คิดว่าภาษาเบสิกหรือภาษา SQL, เชลล์ Unix หรือ Brainf ** k-Derivative เช่น Alphuck) พิจารณาเพิ่มข้อความลงไป ตอบว่าการแก้ปัญหาที่เหมือนกันหรือคล้ายกันมากนั้นก็สั้นที่สุดในภาษาอื่นเช่นกัน
- ควรมีเว็บไซต์เช่น Wikipedia, Esolangs หรือ GitHub สำหรับภาษา ตัวอย่างเช่นถ้าเป็นภาษา CJam
#[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes
แล้วหนึ่งสามารถเชื่อมโยงไปยังเว็บไซต์ในส่วนหัวเช่น - ไม่อนุญาตช่องโหว่มาตรฐาน
(ฉันได้นำกฎเหล่านี้มาจากการท้าทาย "Hello World" ของ Martin Büttner)
โปรดโพสต์ในความคิดเห็นเพื่อบอกฉันว่าความท้าทายนี้จะดีขึ้นได้อย่างไร
แค็ตตาล็อก
นี่คือกองเล็ก ๆ ซึ่งสร้างทั้งแคตตาล็อกตัวอักษรของภาษาที่ใช้และลีดเดอร์บอร์ดโดยรวม เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มด้วยส่วนหัวของ Markdown นี้:
# Language name, X bytes
เห็นได้ชัดว่าแทนที่Language name
และX bytes
ด้วยรายการที่เหมาะสม หากคุณต้องการเชื่อมโยงไปยังเว็บไซต์ของภาษาให้ใช้เทมเพลตนี้ตามที่โพสต์ไว้ด้านบน:
#[Language name](http://link.to/the/language), X bytes
ตอนนี้สุดท้ายนี่คือตัวอย่างข้อมูล: (ลองกด "เต็มหน้า" เพื่อดูที่ดีกว่า)
var QUESTION_ID=59347;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=41805;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"//api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"//api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang,user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase())return 1;if(a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase())return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:500px;float:left}#language-list{padding:10px;padding-right:40px;width:500px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table>
""
สตริงว่างเปล่าได้ไหม