quería saber si será posible resolver el problema utilizando Josepheus lista en Python."Josefo-problema" usando la lista en Python
En términos simples problema Josefo se trata de encontrar una posición en una disposición circular que sería segura si las ejecuciones se manejaron a cabo utilizando un parámetro de salto que se conoce de antemano.
Por ejemplo: dada una disposición circular como [1,2,3,4,5,6,7]
y un parámetro de omisión de 3, las personas se ejecutarán en el orden 3,6,2,7,5,1
y la posición 4
sería la caja fuerte.
que han estado tratando de resolver esto utilizando la lista desde hace algún tiempo, pero las posiciones de índice se vuelve difícil para mí de manejar.
a=[x for x in range(1,11)]
skip=2
step=2
while (len(a)!=1):
value=a[step-1]
a.remove(value)
n=len(a)
step=step+skip
large=max(a)
if step>=n:
diff=abs(large-value)
step=diff%skip
print a
Actualizado la pregunta con fragmento de código, pero no creo que mi lógica es correcta.
Este algoritmo es increíble! ¿Puedes compartir eso, cómo se te ocurrió el 'idx = (idx + skip)% len (ls)'? Sé que funciona, pero no tengo idea de cómo las personas podrían descubrirlo de esta manera. ¡Gracias! –
@JayWong que es la mejor manera de ir a través de una matriz y envolver desde el final hasta el principio –