Python Juego de vivos y muertos de Josephus

Document 对象参考手册Ejemplos de Python3

30 personas están en un barco, está sobrecargado, necesitan bajar 15 personas.

Entonces la gente se forma en una fila, y la posición en la fila es su número.

Cuentan, comenzando desde 1, la persona que cuenta hasta 9 baja del barco.

Así sucesivamente hasta que queden solo 15 personas en el barco. ¿Qué números de personas bajaron del barco?

Ejemplo

people={} for x in range(1,31): people[x]=1 # print(people) check=0 i=1 j=0 while i<=31: if i == 31: i=1 elif j == 15: break else: if people[i] == 0: i+=1 continue else: check+=1 if check == 9: people[i]=0 check = 0 print("La persona número {} bajó del barco".format(i)) j+=1 else: i+=1 continue

Al ejecutar el ejemplo anterior, el resultado es:

9号下船了
18号下船了
27号下船了
6号下船了
16号下船了
26号下船了
7号下船了
19号下船了
30号下船了
12号下船了
24号下船了
8号下船了
22号下船了
5号下船了
23号下船了

Document 对象参考手册Ejemplos de Python3

Otras extensiones