Wir suchen nach einer Sequenz
Nehmen Sie die natürlichen Zahlen
1,2,3,4,5,6,7,8,9,10,11,12,13,14...
Konvertiere zu Base-2
1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110...
Verketten Sie die obigen Zahlen
110111001011101111000100110101011110011011110...
Partitioniere diese Zahl in Prime-Chunks
(Chunks mit einer Primzahl von Ziffern). Die
Primzahlen werden in aufsteigender Reihenfolge genommen2,3,5,7,11,13,17...
[11][011][10010][1110111][10001001101][0101111001101][1110...]
und finde die Summe der Ziffern jedes Brocks
Primes 2 3 5 7 11 13 17
Chunks [11][011][10010][1110111][10001001101][0101111001101][1110...]
SumOfDigits 2 2 2 6 5 8
Die Sequenz
2, 2, 2, 6, 5, 8, 9, 10, 14, 22, 11, 18, 25, 27, 32, 21, 28, 32, 40, 40, 49, 49, 32, 41, 49, 53, 63, 55, 63, 70, 87, 73, 51, 63, 71, 78, 78, 90, 107, 86, 96, 108, 115, 128, 138, 92, 83, 95, 102, 110, 130, 106, 122, 141, 149, 163, 130, 140, 151, 165, 181, 165, 204, 200, 234, 100, 130, 138, 167, 149, 169, 180, 209, 166, 189, 194, 222, 205, 234, 260, 216, 206, 217, 241, 240, 267, 289, 242, 274, 308, 286, 329, 338, 155, 189, 225, 197, 240, 272, 217, 254, 282, 287, 317, 281, 256, 299, 286, 331, 337, 316, 350, 354, 391, 367, 282, 327, 313, 364, 358, 348, 397, 406, 466 ...
Die Herausforderung
Suchen Sie den nth
Begriff der obigen Sequenz
Eingang
Eine ganze Zahl n>0
Testfälle
1->2
3->2
6->8
36->78
60->165
160->581
260->1099
350->1345
Dies ist Codegolf. Die kürzeste Antwort in Bytes gewinnt!
Antworten:
Schale , 8 Bytes
Probieren Sie es online!
Erläuterung
quelle
Gelee , 12 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
05AB1E , 12 Bytes
Code
Kann bei großen Zahlen ziemlich langsam werden:
Verwendet die 05AB1E- Kodierung. Probieren Sie es online!
Erläuterung
quelle
Mathematica, 71 Bytes
Probieren Sie es online!
quelle
Jelly , 21 Bytes
Probieren Sie es online!
quelle
Gelee , 16 Bytes
Probieren Sie es online!
Erläuterung
quelle
R ,
206200 ByteProbieren Sie es online!
Der Algorithmus versucht auch, Platz zu sparen, indem er iterativ Bits entfernt, während er durch die Primzahlen wechselt. Ich habe das Gefühl, dass die Umwandlung von Dezimalstellen in Bits wahrscheinlich kürzer sein könnte, aber ich konnte keine anderen Alternativen finden.
6 Bytes gespart dank Jonathan French.
quelle
p=j=2
ist zwei Bytes kürzer alsp=2;j=2
.a=p
, um noch zwei Bytes zu sparen.y=1
, ersetzt durchy=2
, was zu 200 Bytes führt .JavaScript (ES6), 144 Byte
Ungolfed
Testfälle
Code-Snippet anzeigen
quelle
Python 2 , 114 Bytes
Probieren Sie es online!
quelle
JavaScript (ES6),
138132123 BytesTestfälle
Probieren Sie es online!
Demo
NB: Hier sind nur "sichere" Testfälle enthalten (funktioniert garantiert unter Chrome, Firefox und Edge). Möglicherweise müssen Sie die Call-Stack-Größe Ihrer Engine erhöhen, um die anderen zu überholen.
Code-Snippet anzeigen
Formatiert und kommentiert
quelle
Perl 6 , 67 Bytes
Probier es aus
Erweitert:
quelle
Python 2 ,
143139133 Bytes-4 Bytes dank @ErikTheOutgolfer
Probieren Sie es online!
quelle
J, 48 Bytes
erklärt
Probieren Sie es online!
quelle
/.
):_1({]+//.$$&;<@#:@#\)[:#~p:@i.
JavaScript 1+ + substr, 135 Bytes
quelle