Écrivez le code pour déterminer la réponse acceptée


14

Publiez une réponse à cette question qui évalue toute réponse à cette question et détermine si elle gagne.

Qui gagne:

  • Le gagnant est la réponse qui gagne selon le plus de réponses à 1700 UTC, dimanche 2 mars.
  • Vous êtes les bienvenus et encouragés à modifier votre propre réponse à mesure que le concours progresse. Veuillez ne pas en changer d'autres.
  • Les liens sont déterminés par le code le plus court.
  • Quelle que soit la quantité de chaussettes que vous feriez normalement, si quelque chose est louche, je vais vous disqualifier.
  • Je n'accepterai pas ma propre réponse, mais je l'utiliserai pour évaluer la vôtre.

Règles:

  • Votre calcul doit fournir un score numérique pour toute réponse arbitraire (pour le rendre facile, l'entrée de votre algorithme est soit l'id de la réponse, soit le démarque de la réponse sur la page).
  • Votre score doit avoir au moins un gagnant, et il doit être possible pour une réponse en plus de la vôtre de gagner.
  • Votre algorithme ne peut pas utiliser quelque chose de très spécifique à votre réponse, pas plus que le nom d'utilisateur ou les horodatages ne peuvent être utilisés. Je serai le juge final de ce que signifie «très spécifique», mais j'encourage la police communautaire et la honte publique.
  • Votre code doit compiler, exécuter et donner un score donné n'importe quelle réponse.
  • Veuillez inclure un lien vers un moyen d'exécuter votre code s'il n'est pas répertorié sur Ideone . Voir ci-dessous.

Langues idéées


1
Y a-t-il une raison particulière à la restriction «Veuillez ne donner qu'une seule réponse»? Si je développe deux algorithmes très différents avec deux critères très différents, ne puis-je pas publier les deux?
Victor Stafusa

@Victor Je suppose que vous avez raison. Je peux assouplir cette règle, mais j'arrêterai les gens pour avoir empilé le jeu.
Pas que Charles le

Le gagnant doit-il déterminer correctement qu'il est lui-même le gagnant? IE, si les réponses A, B et C indiquent que D est le gagnant, mais D dit que A est le gagnant, D est-il le gagnant même si c'est une mauvaise réponse?
Victor Stafusa

@Victor Le gagnant n'a pas besoin d'être correct. Ce serait trop difficile.
Pas que Charles le

Depuis quand Ideone autorise-t-il l'accès au réseau?
nyuszika7h

Réponses:


6

R, 1 caractère

1

Vous pouvez fournir l'id d'une réponse comme argument de ligne de commande si vous le souhaitez. :) Lien vers ideone.

Poursuite de l'élaboration

Puisqu'il n'est pas pratique pour une réponse d'exécuter d'autres réponses (différentes langues, etc.) et de les évaluer en fonction de leur résultat, la seule façon dont je peux voir pour qu'elles donnent un score est d'utiliser une métrique de code.

J'ai remarqué que toutes les autres réponses jusqu'à présent donnent un score plus élevé aux programmes plus courts. Je crois que c'est le code le plus court possible, il devrait donc être classé en tête des résultats des autres réponses.

Comment et quelle réponse mon code donne pour que les autres réponses semblent moins pertinentes. Le seul aspect important est que d'autres classent ma réponse en haut.


Veuillez développer.
rahulroy9202

1
@ rahulroy9202 Réponse mise à jour avec mon raisonnement.
Andris

2
: D bon point. Vos hypothèses sont logiques. À moins que quelqu'un ne trouve un moyen d'imprimer 1 sans aucun code. : D
rahulroy9202

@ rahulroy9202 Je pense qu'il n'est pas possible de publier un bloc de code vierge, donc même si cela est possible dans une langue, vous ne pouvez pas poster le "code" ici. : D
Andris

essayez <code> </code> dans la réponse et mon code le lira comme une réponse de 0 caractère. : D
rahulroy9202

3

R, 1 caractère

0

Suite à la réponse de @ Andris, il y a maintenant deux codes qui ont un seul caractère: Andris et le mien. Puisque nous nous lions aux yeux des autres réponses, aucun de nous n'a "gagné" carrément, donc ma réponse ne "gagnera" pas. :-)


2

Rubis, 368 car.

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)

Bonne chance!


2

JavaScript - 190 caractères

Hypothèse: Le premier bloc de code est la réponse.

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);

Peut être testé dans la console du navigateur. Il suppose que la réponse la plus courte est la bonne.

Comment exécuter - Sur Chrome / Firefox, ouvrez la console sur cette page et collez le code et exécutez.


Il fonctionne également dans la console IE 11 :)
ComFreek
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.