Respecto al problema del algoritmo recursivo clásico en lenguaje C: (debe hacerse con un algoritmo recursivo), consulte las preguntas complementarias en el título.
int jos(int n, int k); // n representa cuántas personas * * * hay en total y k representa qué número sale.
int main(void)
{
int n, k, s;
Printf("Ingrese el número total de personas e intervalo Números (separados por espacios)\n");
scanf("d d", ampn amp;k);
s = jos(n,k);
Printf ("Ganador: d\n ", s);
Devuelve 0
}
int jos(int n, int k)
{//Cada carrera volverá a la posición eliminada actual.
int x;
if(n = = 1)//Cuando queda el último, él es el ganador.
x = 1;
Otros
{//Si hay más de uno
x=(jos(n-1) ,k) k) n; // Continúe eligiendo al ganador entre las personas restantes (n logra el propósito del ciclo) (aquí está la posición de eliminación cuando se usa n-1 más K es la siguiente posición de eliminación, y N es reducido de nuevo)
Si (x==0)
x = n;
}
Devuelve x;
}
/*
Ingrese el número total de personas y el número de intervalos (separados por espacios)
37 5
El ganador es: 1
Presiona cualquier tecla para continuar
*/