Javascript (E6) 92 96
Kürzere und konforme - Verwenden Sie die Spidermonkey-Shell, um stdin zu lesen / stdout zu schreiben (mit Komma und Leerzeichen). Es findet das 10000. Paar 1260989, 1260991 in weniger als einer Minute auf meinem PC.
Könnte kürzer sein, wenn man p[n]=o=nanstelle von verwendet p.push(o=n), so dass das p-Array spärlich ist. Aber das ist ziemlich langsam und ich werde sowieso nicht für die Codelänge gewinnen.
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)
So probieren Sie die Firefox-Konsole aus:
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
Eine Funktion, die alle ersten m Zwillinge gefunden hat (gibt den größten Wert zurück):
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
}
Beispiel: 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]
Nur das letzte:
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
}
Nehmen Sie dann diese 2 Zeilen und fügen Sie IO hinzu
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)