Colección de citas famosas - Frases motivadoras - ¿Cómo escribir el problema del anillo de Josephus en estructura de datos en lenguaje C?

¿Cómo escribir el problema del anillo de Josephus en estructura de datos en lenguaje C?

Título: Hay n personas en un círculo, numeradas en orden. Empiece a contar desde la primera persona (contando del 1 al 3). Cualquiera que indique 3 sale del círculo y pregunta cuál es el número original de la persona que queda al final.

1. Análisis del programa: este es un algoritmo relativamente clásico: el problema de Joseph Ring.

2. Análisis personal: el algoritmo es relativamente clásico y se debe utilizar una lista vinculada. tal problema. La forma será más fácil. El algoritmo de anillo de Joseph

incorpora el uso de matrices para completar las funciones de las listas enlazadas. Aunque la forma es completamente diferente, obtiene el mismo resultado.

Tiene el mismo propósito pero el mismo propósito. En resumen, personalmente creo que es un algoritmo muy clásico en matrices. ¡Espero que el código escrito por mí no haga que la gente me regañe! >3. Código fuente del programa:

#include

#define N 50

#define S 3

void main()

{

int a[N];

int i,k

int suma=N; /p>

k=0;

for(i=0;i

a[i]=i+1; p>for(i =0;i

printf("%-4d",a[i]);

printf("\n");

for(i=0;;i++)

{

if(sum==1)

romper; >

if (a[i%N]!=0)

{

k++

}

if( k==S)

{

k=0;

//printf("%4d",a[i%N]); p>

a[i%N]=0

suma--;

}

}

para( i=0;i

if(a[i]!=0)

printf("\nEl último número es: %d\n",a [i]) ;

}

Escribí esto hace dos años cuando estaba estudiando. ¡Es vergonzoso!