जावास्क्रिप्ट (E6) 92 96
शॉर्टर और कंप्लेंट - स्टड को पढ़ने / लिखने के लिए और अल्पविराम (स्पेस के साथ) के लिए स्पाइडरमोंकि शेल का उपयोग करें। यह पाता है कि 10000 वीं जोड़ी 1260989, मेरे पीसी पर एक मिनट के भीतर 1260991 के बजाय का
उपयोग करके कम किया जा सकता p[n]=o=nहै p.push(o=n), ताकि पी सरणी विरल हो। लेकिन यह काफी धीमा है, और मैं कोड लंबाई के लिए वैसे भी जीतने वाला नहीं हूं।
m=readline();for(n=3,o=p=[];m;n+=2)p.every(e=>n%e)&&(m-=n-o<3,p.push(o=n));print(o-2+', '+o)
फ़ायरफ़ॉक्स कंसोल में आज़माने के लिए:
m=prompt();for(n=3,o=p=[];m;n+=2)p.every(e=>n%e)&&(m-=n-o<3,p.push(o=n));alert(o-2+', '+o)
Ungolfed
एक ऐसा फंक्शन, जो सभी पहले m जुड़वाँ को मिला (सबसे बड़ा मूल्य लौटाता है):
T=m=>{
for (o=n=3, p=[2], t=[]; !t[m-1]; n+=2)
p.every(e => n%e) && (n-o-2 ? 0 : t.push(n), p.push(o=n))
return t
}
उदाहरण: console.log(T(50))
[5, 7, 13, 19, 31, 43, 61, 73, 103, 109, 139, 151, 181, 193, 199, 229, 241, 271, 283, 313, 349, 421, 433, 463, 523, 571, 601, 619, 643, 661, 811, 823, 829, 859, 883, 1021, 1033, 1051, 1063, 1093, 1153, 1231, 1279, 1291, 1303, 1321, 1429, 1453, 1483, 1489]
बस आखिरी:
L=m=>{
for (o=n=3,p=[2]; m; n+=2)
p.every(e => n%e) && (m -= n-o==2, p.push(o=n))
return o
}
फिर, उस 2 लाइनों को लें और IO जोड़ें
m = prompt()
for (o=n=3, p=[2]; m; n+=2)
p.every(e => n%e) && (m -= n-o==2, p.push(o=n))
alert('o-2+', '+o)