Scrivi il codice per determinare la risposta accettata


14

Pubblica una risposta a questa domanda che valuta qualsiasi risposta a questa domanda e determina se vince.

Chi vince:

  • Il vincitore è la risposta che vince secondo il maggior numero di risposte alle 1700 UTC, domenica 2 marzo.
  • Sei invitato e incoraggiato a cambiare la tua risposta man mano che il concorso procede. Per favore, non cambiare gli altri.
  • I legami sono determinati dal codice più breve.
  • Indipendentemente dalla quantità di calze che potresti normalmente fare, se qualcosa è sospetto, ti squalificherò.
  • Non accetterò la mia risposta, ma la userò per valutare la tua.

Regole:

  • Il tuo calcolo deve fornire un punteggio numerico per qualsiasi risposta arbitraria (per semplificare, l'input per il tuo algoritmo è l'id della risposta o il markdown della risposta nella pagina).
  • Il tuo punteggio deve avere almeno un vincitore e deve essere possibile che una risposta oltre alla tua vinca.
  • Il tuo algoritmo non può utilizzare qualcosa di molto specifico per la tua risposta, né è possibile utilizzare affatto nome utente o timestamp. Sarò il giudice finale di ciò che significa "molto specifico", ma incoraggio il controllo della comunità e la vergogna pubblica.
  • Il codice deve compilare, eseguire e assegnare un punteggio a cui viene data una risposta.
  • Si prega di includere un collegamento a un modo per eseguire il codice se non è elencato su Ideone . Vedi sotto.

Lingue Ideone


1
Qualche motivo speciale per la limitazione "Per favore, contribuisci solo con una risposta"? Se sviluppo due algoritmi molto diversi con due criteri molto diversi, non posso pubblicare entrambi?
Victor Stafusa,

@Victor Immagino tu abbia ragione. Posso attenuare questa regola, ma chiuderò la gente per impilare il mazzo.
Non che Charles, il

Il vincitore dovrebbe determinare correttamente che è esso stesso il vincitore? IE, se le risposte A, B e C dicono che D è il vincitore, ma D dice che A è il vincitore, D è il vincitore anche se è una risposta sbagliata?
Victor Stafusa,

@Victor Il vincitore non deve essere corretto. Sarebbe troppo difficile.
Non che Charles, il

Da quando Ideone consente l'accesso alla rete?
nyuszika7h

Risposte:


6

R, 1 carattere

1

Se lo desideri, puoi fornire l'id di una risposta come argomento della riga di comando. :) Link a ideone.

Ulteriore elaborazione

Poiché non è pratico per una risposta eseguire altre risposte (lingue diverse, ecc.) E valutarle in base al loro risultato, l'unico modo che riesco a vedere per loro di dare un punteggio è usare una metrica del codice.

Ho notato che finora tutte le altre risposte danno un punteggio più alto ai programmi più brevi. Credo che questo sia il codice più breve possibile, quindi dovrebbe essere alto nel risultato di altre risposte.

Come e quale risposta il mio codice fornisce per le cuciture di altre risposte meno pertinenti. L'unico aspetto importante è che gli altri classificano la mia risposta in alto.


Per favore, elabora.
rahulroy9202,

1
@ rahulroy9202 Risposta aggiornata con il mio ragionamento.
Andris,

2
: D buon punto. I tuoi presupposti sono logici. A meno che qualcuno non trovi un modo per stampare 1 senza alcun codice. : D
rahulroy9202,

@ rahulroy9202 Penso che non sia possibile pubblicare un blocco di codice vuoto, quindi anche se ciò è possibile in una lingua non è possibile pubblicare qui il "codice". : D
Andris,

prova <code> </code> nella risposta interna e il mio codice lo leggerà come risposta a 0 caratteri. : D
rahulroy9202,

3

R, 1 carattere

0

In seguito alla risposta di @ Andris, ora ci sono due codici che hanno un singolo carattere: Andris e il mio. Dal momento che leghiamo agli occhi delle altre risposte, nessuno di noi ha "vinto" in modo definitivo, quindi la mia risposta non "vincerà". :-)


2

Rubino, 368 caratteri

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)

In bocca al lupo!


2

JavaScript: 190 caratteri

Presupposto: il primo blocco di codice è la risposta.

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

Può essere testato nella console del browser. Presuppone che la risposta più breve sia la risposta corretta.

Come eseguire: su Chrome / Firefox, apri la console mentre sei in questa pagina e incolla il codice ed eseguilo.


Funziona anche nella console di IE 11 :)
ComFreek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.