Red de conocimiento informático - Conocimiento informático - Coloca los números naturales del 1 al 100 en un círculo en el sentido de las agujas del reloj, saca 1 primero y luego toma el número en el sentido de las agujas del reloj en pasos de L=30 (el número que se ha sacado ya no se contará),

Coloca los números naturales del 1 al 100 en un círculo en el sentido de las agujas del reloj, saca 1 primero y luego toma el número en el sentido de las agujas del reloj en pasos de L=30 (el número que se ha sacado ya no se contará),

Este es en realidad un problema del anillo de Joseph. Puedes descubrirlo en Baidu.

Es similar a las 100 personas conocidas (representadas por los números 1, 2, 3...100). respectivamente) rodeados de sentarse alrededor de una mesa redonda. Comienza a contar desde la persona numerada 1, y la persona que cuenta hasta 30 sale de la cola; la siguiente persona comienza a contar desde 1, y la persona que cuenta hasta 30 sale de la cola nuevamente; repite este patrón hasta alrededor de la ronda; mesa Sólo queda una persona, por favor proporcione el número de esta persona.

Implementación de matriz

#include

int main()

{

const int n=100;

int m=30;

int a[n];

for(int j=0;j

a[j]=j+1;

int k=1;

int i=-1;

mientras( 1)

{

for(int j=0;j

{

i=(i+1 )%n;

if(a[i]!=0)

j++;

}

if(k== n)

ruptura;

a[i]=0;

k++;

}

cout <

return 0;

}

(Utilice una lista enlazada unidireccional o una lista doblemente enlazada para realizar mi espacio )