¡La "hormiga principal" es un animal obstinado que navega por los enteros y los divide hasta que solo quedan números primos!
Inicialmente, tenemos una matriz infinita A que contiene todos los enteros> = 2: [2,3,4,5,6,.. ]
Deje pser la posición de la hormiga en la matriz. Inicialmente p = 0(la matriz está indexada en 0)
Cada turno, la hormiga se moverá de la siguiente manera:
- si
A[p]es primo, la hormiga se mueve a la siguiente posición:p ← p+1 - de lo contrario, si
A[p]es un número compuesto,qsea su divisor más pequeño> 1. DividimosA[p]entreqy sumamosqaA[p-1]. La hormiga se mueve a la posición anterior:p ← p-1
Aquí están los primeros movimientos para la hormiga:
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 ...
^
Su programa debería mostrar la posición de la hormiga después de los nmovimientos. (puedes asumir n <= 10000)
Casos de prueba:
0 => 0
10 => 6
47 => 9
4734 => 274
10000 => 512
Editar. también puede usar listas indexadas 1, es aceptable mostrar los resultados 1, 7, 10, 275, 513 para el caso de prueba anterior.
Este es el código de golf, por lo que gana el código con el código más corto en bytes.
n(o si el caso compuesto podría empujar la hormiga a la izquierda de la inicial 2).
1,7,10,275,513si se indica 1 indexación? O aún tendrían que coincidir con sus resultados.
