编写代码以确定可接受的答案


14

发布该问题的答案,评估该问题的任何答案并确定是否获胜。

谁赢:

  • 根据3月2日(星期日)1700 UTC的最高答案,获胜者将根据最多的答案获胜。
  • 欢迎并鼓励您随着比赛的进行更改自己的答案。请不要改变别人的。
  • 领带由最短的代码决定。
  • 不管您平时会做多少,如果有什么东西可疑,我都会取消您的参赛资格。
  • 我不会接受自己的答案,但会用它来评估您的答案。

规则:

  • 您的计算必须为任意答案提供数值分数(为简便起见,算法的输入要么是答案的ID,要么是页面上答案的减价)。
  • 您的分数必须至少有一个获胜者,而且除了您的答案以外,还必须有可能获胜。
  • 您的算法不能使用非常具体的答案,也不能使用用户名或时间戳。我将最终决定“非常具体”的含义,但我鼓励社区维持治安和公众羞辱。
  • 您的代码必须编译,运行并给出任何答案的分数。
  • 如果未在Ideone上列出,请提供指向执行代码的方法的链接。见下文。

ideone语言


1
是否有“请只提供一个答案”限制的特殊原因?如果我用两个截然不同的标准开发了两种截然不同的算法,那么我不能同时发布两者吗?
Victor Stafusa 2014年

@Victor我想你是对的。我可以放宽这条规则,但是我会关闭人们以堆积甲板。
不是查尔斯(Charles)

赢家是否应该正确地确定自己就是赢家?IE,如果答案A,B和C说D是赢家,但D说A是赢家,即使D是错误答案,D还是赢家吗?
Victor Stafusa 2014年

@Victor获胜者不一定是正确的。那太难了。
不是查尔斯(Charles)

从什么时候开始Ideone允许网络访问?
nyuszika7h 2014年

Answers:


6

R,1个字符

1

如果愿意,可以提供答案的ID作为命令行参数。:) 链接到ideone。

进一步阐述

由于执行其他答案(不同语言等)并根据其结果评估答案是不实际的,因此,我看到的给他们评分的唯一剩余方法就是使用某种代码度量。

我已经注意到,到目前为止,所有其他答案对较短的程序都有较高的分数。我认为这是最短的代码,因此在其他答案的结果中应该排在高位。

我的代码的方式和答案与其他答案的联系不太相关。唯一重要的方面是,其他人对我的回答给予很高的评价。


请详细说明。
rahulroy9202 2014年

1
@ rahulroy9202用我的推理更新了答案。
Andris 2014年

2
:D好点。您的假设是合乎逻辑的。除非有人想出一种完全不用代码打印1的方法。:D
rahulroy9202,2014年

@ rahulroy9202我认为无法发布空白代码块,因此即使可以使用某种语言来编写,也无法在此处发布“代码”。:D
Andris 2014年

尝试在答案中输入<code> </ code>,我的代码会将其读取为0个字符的答案。:D
rahulroy9202 2014年

3

R,1个字符

0

在@Andris的答案之后,现在有两个具有单个字符的代码:Andris和我的。由于我们在其他答案的眼中并列,所以我们两个人都没有“赢过”,因此我的答案不会“赢过”。:-)


2

红宝石368个字符

require 'json'
require 'open-uri'
v='body';w="#{v}_markdown";s='comments'
x=if(d=JSON.parse(open("http://api.stackexchange.com/2.2/answers/#{ARGV[0]}?site=codegolf&filter=!%29r%28UkmOhmCPjXru-TDty").read)['items'][0]).include?(s) then d[s].map{|c|c[w].length*[1,c[w].index('`')||1,c[w].index('\n')||1].max}.reduce(:+) else -2 end
puts d['score']*150+5*(d[v].match(/<(..).*?\1.*?\1/m))[0].ord+x-$~.end(0)

祝好运!


2

JavaScript- 190个字符

假设:第一个代码块就是答案。

var ans=$('.answer'),s=999,sa;
for(i=0;i<ans.length;i++){
    var x =  ans[i].getElementsByTagName('code');   
    var z = x[0].innerHTML.replace(/\s/g,'').length;
    if(s>z){
        s=z;
        sa=ans[i];
        }    
}
console.log(sa);

可以在浏览器控制台中进行测试。它假定最短的答案是正确的答案。

如何执行-在此页面上的Chrome / Firefox打开控制台上,粘贴代码并执行。


它也可以在IE 11控制台中使用:)
ComFreek
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.