Questions tagged «self-referential»

用于挑战,答案以自己或自己的特征为参考,例如长度或字符值。由于这是[quine]标记的子集,因此存在许多相同的限制,例如不读取自己的源代码。

30
不使用数字,就可以获得最高的薪水。但是不要夸张!
当我申请某些职位广告中没有说明薪水的工作时,我想到一个特别邪恶的面试官,这将使候选人有可能通过“打高尔夫球”来决定自己的薪水! 因此,它就像这样: 在不使用数字的情况下,编写代码以输出您希望提供的年薪。 但是,能够编写简洁的代码是该公司的基石。因此,他们实施了非常严格的资历阶梯 编写b字节长的代码的雇主最多可赚取($ 1'000'000)· b -0.75。 我们正在查看(这些是整数部分,仅出于显示原因): 1 byte → $1'000'000 15 bytes → $131'199 2 bytes → $594'603 20 bytes → $105'737 3 bytes → $438'691 30 bytes → $78'011 4 bytes → $353'553 40 bytes → $62'871 10 bytes → $177'827 50 bytes → $53'182 挑战 …

30
打印程序没有的每个字符
您的任务是构建一个程序(仅使用可打印的ASCII字符和/或制表符和换行符),以完全打印出可打印的ASCII空间(0x20到0x7e)中未出现在程序源代码中的字符(以任何顺序排列)很多次)。 以任何语言执行此操作的最短代码都会胜出。

30
一个比其短(以字符为单位)的程序可以打印的最小正10基整数是多少?
我认为上述问题很明确,但以防万一: 编写一个完整的程序(不仅仅是一个函数),该程序将打印一个以10为基数的正整数,并可以选择后跟一个换行符。 合格程序将是输出比程序源代码长(以字节为单位)的程序,以字节为单位(假定程序源代码为ASCII或UTF-8编码)。 即,代码必须短于所得数字中的位数。 在任何情况下都不允许前导零。计算前导零使问题变得微不足道;忽略前导零将使这个问题变得不必要。 获胜的程序将是合格程序,该程序将打印出幅度最小的整数。 排行榜摘要 显示代码段 var QUESTION_ID = 67921; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function …

30
输出长度与代码相同
在这个挑战中,您应该编写一个程序或函数,该程序或函数不输入任何内容,并输出或返回一个与程序本身具有相同字节数的字符串。有一些规则: 您只能输出可打印ASCII范围(0x20至0x7E,包括0x20至0x7E)或换行符(0x0A或0x0D)中的字节。 您的代码不得为quine,因此代码和输出必须至少相差一个字节。 您的代码必须至少一个字节长。 如果您的输出包含尾随换行符,则这些是字节数的一部分。 如果您的代码需要非标准命令行标志,请照常对它们进行计数(即,通过将对语言实现的标准调用中的差异加到字节数上),并且输出的长度必须与解决方案的分数相匹配。例如,如果您的程序是ab并且需要非标准标志-n(我们假定它不能与标准标志结合使用,那么它是3个字节),则应该总共输出5个字节。 只要您可以证明每个可能的输出都满足上述要求,输出就不必总是相同的。 通常的奎因规则不适用。您可以阅读源代码或其大小,但我怀疑这会比大多数语言中的硬编码短。 您可以编写程序或函数,并使用提供输出的任何标准方法。请注意,如果您打印结果,则可以选择将其打印到标准输出或标准错误流中,但是只有其中一个计数。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 排行榜 显示代码段 var QUESTION_ID=121056,OVERRIDE_USER=8478;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;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" …

30
哎呀,这些字节是毛额
编写一个程序或函数,当给定一个字符串时,它会尽可能多地过滤掉不同的字节并返回清理后的字符串。但是,由于您的程序讨厌它们,因此这些字节中的任何一个都不能出现在您自己的代码中。 您的分数将是程序从输入中过滤掉的不同字节数,越高越好。这是最高分数255(因为您的程序必须至少一个字节)。决胜局是代码的长度,越低越好。 例如,如果您的程序过滤出bytes 0123456789,则其得分为10,但您的程序本身不能包含这些字节。 规则 字节表示八位位组。 您还可以选择将输入作为整数列表,其值的范围为0到255。它们对应于等效字节。 您的输出应与输入的格式相同 不阅读源代码 您的代码必须为非空 是的,我知道将会有一个语言/一元答案。但是至少请打高尔夫球吗?;) 编辑规则: 您可以选择忽略某个字节,例如,如果该字符串与字符串或EOF的终止字节无法区分。但是,这意味着您不能在提交中使用它,也不会计入您的分数。如果选择这样做,您的最高分将是254,但是您不必处理输入中的该字节。

30
创建两倍于代码长度的输出
挑战 编写一个完整的程序,该程序向标准输出中写入的字节数是程序长度的两倍。 规则 程序必须将ASCII字符写入标准输出。 输出的内容无关紧要。 输出(以字节为单位)必须恰好是程序长度的两倍(也以字节为单位),除非您满足附加条件。 任何结尾的换行符都包含在输出的字节数中。 奖金 您的程序可以选择n输入数字。如果是这样,输出必须恰好是n * program length字节。您可以假设n始终为正整数。如果未提供任何输入,则n必须默认为2。 如果这样做,您可以从乐谱中减去25个字节。 最短的程序获胜。 限制条件 没有标准漏洞。 该程序必须至少1个字节长。 无需在源代码中添加不必要的空格以更改其长度。同样,评论也不计算在内。 除非您履行奖金,否则该程序不得接受任何输入。如果您确实履行奖金,则整数必须是唯一输入。 最低分(程序长度以字节为单位-奖励)获胜。 每种语言的最短答案会赢得该种语言的支持。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + 2 (-p flag) = 45 bytes 您还可以将语言名称设置为链接,然后该链接将显示在页首横幅代码段中: # [><>](http://esolangs.org/wiki/Fish), …

24
编写一个自行下载的程序
编写一个连接到该站点的程序,下载其发布的答案,提取其自己的源代码并打印出来。输出必须与源代码相同。最短的代码(以字节为单位)获胜。 规则: 不允许使用URL缩短器。 答案必须具有常规格式-带有语言名称和大小,可选描述,代码块,可选描述和解释的标题。不允许使用非自然的分隔符。 输出必须源自站点上发布的实际代码块。 功能必须不取决于答案列表中的位置。即使有多个页面,它也应该起作用,而答案不在第一页上。 新增内容:有关应在浏览器中运行的答案的特殊说明:可以要求在codegolf域上运行它们(遵守同源策略)是可以的,但是该域和路径应包含在解决方案中,以便公平一点。

30
输出您的分数!
挑战: 这个概念很简单:编写一个完整的程序以输出其自己的代码高尔夫球得分! 输出应仅是程序的字节数和结尾 bytes。 但请等待 ...有一个限制: 您的源代码不能包含字节数中的任何数字 因此,如果您的分数是186 bytes,则您的程序不能包含,或字符1。68 示例输出: 315 bytes 27 Bytes 49 BYTES 附加规则: 源代码中禁止使用不必要的字符,空格和换行符,但是在输出中完全可以接受结尾的空格和换行符 数字和bytes输出之间应该有一个空格 字母不区分大小写 无需自我检查或阅读源代码 不允许出现标准漏洞 这是代码高尔夫,所以 以字节为单位的最短代码胜出!

30
现代高尔夫的编程难题
您的任务是打印文本Good morning, Green orb!,并将每个字符重复出现在位置(模式)中最频繁出现的字节中。尾随换行符是允许的,不需要重复。 例如,如果您的来源是 print p 因为p出现两次,并且每隔一个字节出现一次,则需要打印 GGoooodd mmoorrnniinngg,, GGrreeeenn oorrbb!! 答案将通过其字节数与重复输出次数的乘积来评分。例如,上面的代码(如果可行)将获得7 * 2 = 14的评分。目标应该是最小化分数。 您的代码必须至少包含1个字节。 使用此程序来验证您的代码和输出是否匹配

30
Autogram程序
这句话使用了两个a,两个c,两个d,二十八e,五个f,三个g,八个h,十一个i,三个l,两个m,十三个n,九个o,两个p,五个r,二十五s,二十三个t,六个v,十个w,两个x,五个y和一个z。 这样的句子被称为自动词。您的任务是编写一个具有类似属性的程序或函数:它将一个字节作为输入,并输出一个整数,表示该字节出现在程序源代码中的次数。如果其输入未出现在其源中,则应输出0。 您的程序不得直接或间接读取其自身的源代码,而必须将其提供给输出的所有数据硬编码为quine样式。您的程序的长度必须至少为一个字节。 这是代码高尔夫,因此最短的条目(以字节为单位)获胜。我不会接受答案,请随时使用您喜欢的语言竞争最短的解决方案。 强烈建议您在帖子中添加解释。 排行榜 以下是总体得分和每种语言的排行榜: 显示代码段 var QUESTION_ID=162408,OVERRIDE_USER=21034;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;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="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> …

21
重复字节计数器
您的任务是编写一个字节数为L的非空程序/函数,该程序/函数重复M次后,将检查给定的正整数N是否等于L×M。 理论上,您应该支持任意数量的重复(M的任意正整数值),但是如果由于语言限制,它不能超过某个阈值就可以了。严格禁止阅读程序的源代码或访问有关它的信息。 为了提供输出,您应该为一个状态(真或假)选择一个一致的值,并为另一种状态使用其他任何(不一定一致)的可能输出(Discussion)。 您的答案将由您初始程序的长度L(以字节为单位)进行评分,字节越少越好。 例 假设您的(初始)程序为ABCDE。然后: ABCDE(1次重复)应检查输入是否等于5。 ABCDEABCDE(2次重复)应检查输入是否等于10。 ABCDEABCDEABCDE(3次重复)应检查输入是否等于15。等等... 该示例代码的分数为5,因为初始源的长度为5个字节。

3
制作更长的语言节目
Lenguage是一种令人难以置信的方言,以打破源限制挑战而臭名昭著。这是因为Lenguage只关心源的长度,而不关心内容的长度。 首先,计算程序的长度。然后,将所述长度转换为二进制,并用零左填充为3的倍数。所得的二进制字符串被拆分为3位的块,每个块都被转换为Brainfuck命令,如下所示: 000 -> + 001 -> - 010 -> > 011 -> < 100 -> . 101 -> , 110 -> [ 111 -> ] 最终,该程序作为Brainfuck 1运行。 从这里开始,挑战非常简单,编写一个不带任何输入并产生一个输出的字节程序,该输出由一个字节重复ññn次组成,其中ññn严格大于程序的长度。 答案将以字节计分,而字节数越少越好。 这是一个可以通过脑操计算语言的hacky程序 1:对于此挑战,我们将使用包裹单元和非包裹胶带。

5
自计分程序
要输出您自己的分数,我们遇到了挑战,但似乎所有答案都只是对输出进行了硬编码,这很无聊1。因此,让我们面临新的挑战。您的程序必须输出自己的长度(以字节为单位),后跟字符串" bytes",但如果要防止硬编码的解决方案(如果我们通过删除任何一个字节来减小其大小),则新程序还必须输出其新的字节数,其后仍为" bytes"。输出不必区分大小写。您也可以选择输出尾随换行符。 您的答案将以字节计分,而字节数越少越好。 1:我实际上很喜欢那里的一些答案。

11
源排列
集合S = { s 1,s 2,… ,s n }的置换是一个双射函数π :S → S。例如,如果小号= { 1 ,2 ,3 ,4 }那么函数小号= { s1个,秒2,… ,sñ}小号={s1个,s2,…,sñ}S = \{s_1, s_2, \dotsc, s_n\}π:S→ Sπ:小号→小号\pi: S \to S小号= { 1 ,2 ,3 ,4 }小号={1个,2,3,4}S = \{1,2,3,4\}π:x↦1+(x+1mod4)π:x↦1+(x+1mod4)\pi: x \mapsto 1 + (x + 1 \mod 4)是一个置换: π(1)=3,π(2)=4,π(3)=1,π(4)=2π(1个)=3,π(2)=4,π(3)=1个,π(4)=2 \pi(1) = …

15
手动逻辑门
编写一个模拟基本逻辑门的程序。 输入:一个全大写单词,后跟2个1位二进制数字,以空格分隔,例如OR 1 0。门OR,AND,NOR,NAND,XOR,和XNOR需要。 输出:输入的逻辑门的输出将被赋予两个数字:1或0。 例子: AND 1 0成为0 XOR 0 1变得1 OR 1 1成为1 NAND 1 1成为0 这是codegolf,所以最短的代码获胜。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.