首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无输出的最短无限回路

无输出的最短无限回路
EN

Code Golf用户
提问于 2015-10-02 17:20:15
回答 465查看 45.3K关注 0票数 143

您的任务是创建最短的无限循环!

这个挑战的要点是创建一个无限循环,不产生任何输出,而不像它可能的重复。这样做的原因是,如果没有输出,代码可能会更短。

规则

  • 每一个提交必须是一个完整的程序。
  • 您必须创建最短的无限循环。
  • 即使您的程序最终耗尽了内存,只要它从一开始就一直运行到内存耗尽时,它仍然被接受。此外,当内存耗尽时,它仍然不应该将任何东西打印到STDERR。
  • 程序必须不接受任何输入(但是,允许从文件中读取),并且不应该将任何内容打印到STDOUT。输出到文件也是禁止的。
  • 程序不得向STDERR写入任何内容。
  • 可以随意使用一种语言(或语言版本),即使它比这个挑战更新。-Note必须有一个解释器,这样才能对提交进行测试。允许(甚至鼓励)自己为以前未实现的语言编写此解释器。:D
  • 提交是以字节为单位的,采用适当的(预先存在的)编码,通常(但不一定) UTF-8。有些语言,如文件夹,是有点棘手的得分-如果有疑问,请询问Meta。
  • 这并不是要找到具有最短无限循环程序的语言。这是关于在每种语言中寻找最短的无限循环程序。因此,我不会接受一个答案。
  • 如果您选择的语言是另一种(可能更流行的)语言的微不足道的变体,它已经有了答案(考虑基本或SQL方言、Unix shell或琐碎的Brainf**k-导数,比如Alphuck),那么考虑在现有的答案中添加一个注释,即相同或非常相似的解决方案在另一个language.中也是最短的。
  • 应该有一个网站,如维基百科,Esolangs,或GitHub的语言。例如,如果语言是CJam,那么就可以链接到标题中的站点,比如#[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes
  • 不允许有标准的漏洞。

(我从马丁·布特纳的“你好世界”挑战中摘取了其中的一些规则)

请随时在评论中发表意见,告诉我如何改进这一挑战。

目录

这是一个堆栈片段,它既生成了所用语言的字母目录,又生成了总体的领导板。为了确保您的答案显示出来,请用下面的Markdown标题开始:

代码语言:javascript
复制
# Language name, X bytes

显然,用适当的项目代替Language nameX bytes。如果您想链接到这些语言的网站,请使用此模板,如下所示:

代码语言:javascript
复制
#[Language name](http://link.to/the/language), X bytes

现在,最后,下面是一个片段:(尝试按下“完整页面”以获得更好的视图。)

代码语言:javascript
复制
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)}}
代码语言:javascript
复制
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}
代码语言:javascript
复制
<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>
EN

回答 465

Code Golf用户

发布于 2015-10-02 18:47:22

C64机码,2 Bytes

代码语言:javascript
复制
D0 FE

如果没有设置零标志,则分支到自身。

分支是来自下一个指令位置的单字节偏移,而254是-2在两个的补码中.BNE指令(D0)占用一个字节的内存,偏移量为第二个字节,因此将两个字节分支回分支。当代码加载到内存中时,始终清除零标志。

请注意,这不是一个递归子例程调用,因此您将永远不会耗尽内存。还要注意,没有头、编译器或可执行的开销.这是一个真正的两字节程序:)

票数 146
EN

Code Golf用户

发布于 2015-10-02 17:27:54

Brainfuck,3字节

代码语言:javascript
复制
+[]

永不衰退:永不结束。

票数 120
EN

Code Golf用户

发布于 2015-10-04 00:29:54

///,3字节

代码语言:javascript
复制
///

使用语言的名字作为源代码有什么好处吗?

票数 115
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/59347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档