जावा, 540 चार्ट
चेतावनी: सक्रिय बाउंटी की संख्या ~ 470 है। यह कोड कई बार स्टैकओवरफ्लो पर एक पेज को एक्सेस करेगा। बहुत सारे डेटा अनुरोध करने के लिए यह आपको उनके साथ परेशानी में डाल सकता है।
import java.io.*;import java.net.*;public class B{public static void main(String[]A){String u="http://stackoverflow.com/questions",d;Long i,s=i=0L,n=i.parseLong(o(u).replaceAll("^.*b.>(\\d+).*$","$1"));while(i++<n){d=o(u+"?pagesize=1&sort=featured&page="+n).replaceAll("^.*ion.>.(\\d+).*$","$1");s+=d.matches(".*\\D.*")?0:n.parseLong(d);}System.out.print(s);}static String o(String s){String d="";try{BufferedReader r=new BufferedReader(new InputStreamReader(new URL(s).openStream()));while((s=r.readLine())!=null)d+=s;}finally{return d;}}}
मेरा आउटपुट था 23400, लेकिन जब मैंने @ टोनीह का कोड चलाया, तो मुझे मिल गया 37550। बुरी खबर।
सुंदर कोड:
import java.io.*;
import java.net.*;
public class StackOverflowBounty {
public static void main(String[] args) {
String u = "http://stackoverflow.com/questions", d;
Long i, s = i = 0L, n = i.parseLong(o(u).replaceAll("^.*b.>(\\d+).*$", "$1"));
while (i++ < n) {
d = o(u + "?pagesize=1&sort=featured&page=" + n).replaceAll("^.*ion.>.(\\d+).*$", "$1");
s += d.matches(".*\\D.*") ? 0 : n.parseLong(d);
}
System.out.print(s);
}
static String o(String s) {
String d = "";
try {
BufferedReader r = new BufferedReader(new InputStreamReader(new URL(s).openStream()));
while ((s = r.readLine()) != null) {
d += s;
}
} finally {
return d;
}
}
}
जिस तरह से यह काम सरल है। यह उन http://stackoverflow.com/questions"प्रश्नों की संख्या निर्धारित करने के लिए url से पढ़ता है जिनमें बाउंटी हैं (नोट: यदि संख्या बढ़ती है, तो प्रोग्राम विफल हो जाता है, लेकिन यदि यह ड्रॉप हो जाता है, तो यह ठीक काम करता है)। यह रेगेक्स का उपयोग करके इस संख्या को खोजता है b.>(\\d+):। यह अब तक के सभी परीक्षणों में काम किया है, लेकिन अगर किसी ने एक सवाल पूछा है जो कि रेगेक्स से मेल खाता है, तो यह काम नहीं कर सकता है।
फिर, हम url http://stackoverflow.com/questions?pagesize=1&sort=featured&page=+ खोलते हैं current question #। दूसरे शब्दों में, हम प्रत्येक चित्रित प्रश्न के लिए एक नया पृष्ठ खोलते हैं, और प्रश्नों की संख्या केवल होने के लिए मजबूर करते हैं 1, इसलिए हम उन सभी को प्राप्त करेंगे। प्रतिष्ठा का हिस्सा हमेशा मेल खाएगा ion.>.(\\d+), इसलिए मैं इसे खोजने के लिए उपयोग करता हूं। मैंने ऑपरेशन को दो भागों में विभाजित किया है, ताकि मैं सस्ते में जांच कर सकूं कि क्या प्रश्नों की संख्या कम हो गई है (यानी स्ट्रिंग लौटा नहीं है)।
फिर, हम सभी प्रतिष्ठा को जोड़ते हैं और इसे प्रिंट करते हैं।
मेरी मशीन को चलने में लगभग 3 मिनट 20 सेकंड का समय लगा।
क्या किसी को पता है कि यह सही संख्या क्यों नहीं छाप रहा है?