Kabul edilen cevabı belirlemek için kod yazın


14

Bu soruya herhangi bir cevabı değerlendiren ve kazanıp kazanmadığını belirleyen bir soru gönderin.

Kim kazanır:

  • Kazanan, 2 Mart Pazar, 1700 UTC'de en fazla cevaba göre kazanan cevaptır.
  • Yarışma ilerledikçe kendi yanıtınızı değiştirmeye davetlisiniz. Lütfen başkalarını değiştirmeyin.
  • Bağlar en kısa kodla belirlenir.
  • Normalde ne kadar çorap desteğine sahip olursanız olun, bir şey balıksa, sizi diskalifiye edeceğim.
  • Kendi cevabımı kabul etmeyeceğim, ama senin cevabını değerlendirmek için kullanacağım.

Kurallar:

  • Hesaplamanız herhangi bir keyfi cevap için sayısal bir puan sağlamalıdır (kolaylaştırmak için algoritmanızın girişi ya cevabın kimliği ya da cevabın sayfadaki işareti).
  • Puanınızın en az bir kazananı olmalıdır ve sizin kazanmanızın yanı sıra bir cevabın da mümkün olması gerekir.
  • Algoritmanız cevabınıza çok özel bir şey kullanamaz ve kullanıcı adı veya zaman damgaları da kullanılamaz. "Çok özel" in ne anlama geldiğinin nihai yargıcı olacağım, ama toplum polisliğini ve halkın sahtekarlığını teşvik ediyorum.
  • Kodunuz derlenmeli, çalıştırılmalı ve herhangi bir cevap verilmiş bir puan vermelidir.
  • Lütfen Ideone'da listelenmemişse, kodunuzu yürütmenin bir yolunu ekleyin . Aşağıya bakınız.

Ideone dilleri


1
"Lütfen sadece bir cevap verin" kısıtlamasının özel bir nedeni var mı? İki çok farklı ölçütle iki çok farklı algoritma geliştirirsem, ikisini de gönderemiyorum?
Victor Stafusa

@Victor Sanırım haklısın. Bu kuralı hafifletebilirim, ama desteyi istiflemek için insanları kapatacağım.
Charles

Kazanan kendisinin kazanan olduğunu doğru bir şekilde belirlemeli mi? IE, A, B ve C cevapları D'nin kazanan olduğunu söylüyor, ancak D A'nın kazanan olduğunu söylüyorsa, D yanlış bir cevap olsa bile D kazanır mı?
Victor Stafusa

@Victor Kazanan doğru olmak zorunda değil. Bu çok zor olurdu.
Charles

Ideone ne zamandan beri ağ erişimine izin veriyor?
nyuszika7h

Yanıtlar:


6

R, 1 karakter

1

İsterseniz bir yanıtın kimliğini komut satırı bağımsız değişkeni olarak sağlayabilirsiniz. :) Bağlantı ideone için.

Daha fazla ayrıntı

Bir yanıtın diğer yanıtları (farklı diller vb.) Yürütmesi ve sonuçlarına göre değerlendirmesi pratik olmadığından, puan vermeleri için görebildiğim tek yol, bazı kod metriklerini kullanmaktır.

Şimdiye kadar diğer tüm cevapların daha kısa programlara daha yüksek puan verdiğini fark ettim. Bunun mümkün olan en kısa kod olduğuna inanıyorum, bu yüzden diğer cevapların sonucunda yüksek sırada yer almalıdır.

Kodumun diğer cevap dikişlerinin daha az alakalı olması için nasıl ve ne cevabı verir. Tek önemli nokta, başkalarının benim cevabımı üst sıralarda yer alması.


Lütfen detaylandırın.
rahulroy9202

1
@ rahulroy9202 Cevabım ile güncellenmiş cevap.
Andris

2
: D iyi bir nokta. Varsayımlarınız mantıklı. Birisi hiç kod olmadan 1 yazdırmanın bir yolunu bulmazsa. : D
rahulroy9202

@ rahulroy9202 Ben boş bir kod bloğunu göndermek mümkün olmadığını düşünüyorum bu yüzden bu bir dilde mümkün olsa bile burada "kod" gönderemedim. : D
Andris

cevap içinde <code> </code> deneyin ve kodum 0 karakter yanıtı olarak okuyacak. : D
rahulroy9202

3

R, 1 karakter

0

@ Andris'in cevabını takiben, artık tek bir karaktere sahip iki kod var: Andris ve benim. Diğer cevapların gözünde bağlandığımızdan, ikimiz de "kazanmadık", bu yüzden cevabım "kazanamayacak". :-)


2

Yakut, 368 karakter

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)

İyi şanslar!


2

JavaScript- 190 karakter

Varsayım: İlk kod bloğu cevaptır.

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

Tarayıcı konsolunda test edilebilir. En kısa cevabın doğru cevap olduğunu varsayar.

Nasıl yürütülür- Chrome / Firefox'ta bu sayfadayken konsolu açın ve kodu yapıştırın ve çalıştırın.


Ayrıca IE 11 konsolunda çalışıyor :)
ComFreek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.