«Главный муравей» - упрямое животное, которое перемещается по целым числам и делит их, пока не останутся только простые числа!
Изначально у нас есть бесконечный массив A, содержащий все целые числа> = 2: [2,3,4,5,6,.. ]
Позвольте pбыть положение муравья в массиве. Изначально p = 0(массив 0-индексирован)
Каждый ход муравей будет двигаться следующим образом:
- если
A[p]простое число, муравей перемещается в следующую позицию:p ← p+1 - иначе, если
A[p]это составное число, пустьqего меньший делитель> 1. ДелимA[p]наqи добавляемqвA[p-1]. Муравей перемещается на предыдущую позицию:p ← p-1
Вот первые шаги для муравья:
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 ...
^
Ваша программа должна выводить позицию муравья после nходов. (можно предположить n <= 10000)
Тестовые случаи:
0 => 0
10 => 6
47 => 9
4734 => 274
10000 => 512
Редактировать. Вы также можете использовать списки с 1 индексом, допустимо отображать результаты 1, 7, 10, 275, 513 для приведенного выше теста.
Это код-гольф, поэтому выигрывает код с самым коротким кодом в байтах.
n(или может ли сложный случай когда-либо сдвинуть муравья слева от инициала 2).
1,7,10,275,513если 1-индексирование указано? Или они все равно должны соответствовать вашим результатам.
