Die "Primameise" ist ein hartnĂ€ckiges Tier, das durch die ganzen Zahlen navigiert und sie teilt, bis nur noch Primzahlen ĂŒbrig sind!
Anfangs haben wir ein unendliches Array A, das alle ganzen Zahlen> = 2 enthÀlt: [2,3,4,5,6,.. ]
Sei p
die Position der Ameise auf dem Array. Anfangs p = 0
(Array ist 0-indiziert)
In jeder Runde bewegt sich die Ameise wie folgt:
- Wenn
A[p]
es Prim ist, bewegt sich die Ameise zur nĂ€chsten Position:p â p+1
- andernfalls, wenn
A[p]
es sich um eine zusammengesetzte Zahl handelt, seiq
ihr kleinerer Teiler> 1. Wir teilenA[p]
durchq
und addierenq
zuA[p-1]
. Die Ameise bewegt sich zur vorherigen Position:p â p-1
Hier sind die ersten ZĂŒge fĂŒr die Ameise:
2 3 4 5 6 7 8 9 ...
^
2 3 4 5 6 7 8 9 ...
^
2 3 4 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 7 3 7 8 9 ...
^
Ihr Programm sollte nach n
ZĂŒgen die Position der Ameise ausgeben . (Sie können davon ausgehen n <= 10000
)
TestfÀlle:
0 => 0
10 => 6
47 => 9
4734 => 274
10000 => 512
Bearbeiten. Sie können auch 1-indizierte Listen verwenden. Es ist akzeptabel, die Ergebnisse 1, 7, 10, 275, 513 fĂŒr den obigen Testfall anzuzeigen.
Das ist Code-Golf, also gewinnt der Code mit dem kĂŒrzesten Code in Bytes.
n
(oder ob der zusammengesetzte Fall die Ameise jemals nach links von der Initiale schieben könnte 2
).
1,7,10,275,513
Wird 1-Indizierung angegeben? Oder mĂŒssten sie noch mit Ihren Ausgaben ĂŒbereinstimmen.