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 hace 7?