Introducción
La secuencia de cambio se define así:
Comience con npersonas paradas en círculo ( 6para este ejemplo).
1 2
6 3
5 4
A partir de la persona 1, la persona que está a la izquierda de la persona "elegida" se elimina.
1
6 3
5 4
La persona eliminada puede "cambiar" el método de eliminación:
- Si la persona eliminada es par (que es en este caso), la próxima persona eliminada estará a la derecha de la siguiente persona "elegida".
- Si la persona eliminada es impar, la siguiente persona eliminada estará a la izquierda de la siguiente persona "elegida".
La siguiente persona elegida también depende de la persona eliminada previamente.
- Si la persona eliminada es par, la siguiente persona elegida estará a la derecha de la persona elegida anterior.
- Si la persona eliminada es extraña, vea más arriba, pero reemplace "derecha" con "izquierda".
Entonces la siguiente persona elegida es entonces 6.
Ahora eliminamos a la persona a la derecha de 6, que es 5:
1
6 3
4
Porque 5es extraño, la persona eliminada está ahora a la izquierda. La nueva persona elegida es 1.
Ahora eliminamos 3:
1
6
4
Continuamos este proceso, hasta que nos quedemos con 1 número; en este ejemplo, el número final es 1. Entonces por lo tanto S(6) = 1.
Los primeros números son:
n | S(n)
---------
1 | 1
2 | 1
3 | 3
4 | 1
5 | 5
6 | 1
7 | 3
8 | 6
9 | 5
10 | 6
11 | 9
Tarea
Su tarea es hacer un programa (o una función) que devuelva S(n)(el nnúmero th en la secuencia de conmutación) cuando se proporciona n, utilizando la menor cantidad de bytes.
Ejemplo de entradas y salidas:
1 -> 1
10 -> 6
13 -> 13
Tiene garantizado obtener un número entero positivo.
Este es el código de golf , por lo que gana el código más corto en bytes.
Nota: No hay una secuencia OEIS (¿qué?), Para ahorrarle la molestia de buscar.

2nunca se queda, pero lo hace7?Respuestas:
Python 2,
18394 bytes-4 bytes gracias a Artyer (use
input()y enprintlugar dedefyreturn)-1 byte gracias a FlipTack (use en
print-~p[0]lugar deprint p[0]+1)repl.it
Esto solo sigue las instrucciones dadas, he notado algún patrón, ¿tal vez podría explotarse?
Los únicos cambios son:
0indexación basada (por lo que incluso las personas son extrañas y viceversa): esto ahorra 5 bytes en la lógica de golf y se corrige al final con+11como izquierda y-1derecha (para usar un rango, al igual que todos están mirando hacia afuera)popde la lista haciendo que el índice de "puntero" ya sea el primer paso a la derecha de la lista (o a la izquierda en la terminología original).Sin golf:
fuente
print-~p[0]?