King enfatiza la programación.
Usar espacio de nombres std
clase mon
{
Privado:
int * mono
int M;
int N;
Público:
mon(int x, int y): M(x), N(y)
{
mono = new int[x];
}
cambio de signo nulo() p >
{ for(int I = 0; iltm; i)
{
Mono[I]= I; //Numerar el mono
}
}
void showall()
{ for(int I = 0; iltm; i)
{
cout lt ltmonkey[I] lt"\t";
}
}
Visualización no válida()
{ int k = 1;
cout lt lt "Después" lt ltk lt lt veces se eliminan, los monos restantes son: " lt ltendl
for( int I = 0 ; i ltm; i )
{
if (mono[i]!=0)
{
cout lt ltMonkey[ I] lt; lt"\t";
}
}
}
mención nula ( )
{
int k = 1; // El k-ésimo mono queda
int n =-1; // Subíndice de matriz, siguiente es 0, lo que significa que el conteo comienza desde el primer mono
while(true)
{
//Empieza a eliminar en el círculo
for(int j = 0 ; j ltn;)
{
n = (n 1) M;
if (mono[n]! =0) //Si el mono todavía está en el círculo, participa en el conteo
{
j;
}
}
p>If(k = = m)//Si se han completado todas las eliminaciones, salga del ciclo
{
Break
}
Mono[n]= 0;
show();
cout lt ltendl
k;
}
//La declaración de ruptura salta a este punto y genera el número ganador.
cout lt lt"Ese número".
” lt ltendl
}
~ mon(){ eliminar[]mono;}
};
void main()
{ int x; int y;
cout lt lt "Ingrese un número seleccionado al azar del número total de monos"
CIN gtx; p>
CIN gt; gty;
mon a(x, y);
cout lt lt"Antes de la eliminación, los monos eran:" lt ltendl
a .Bian Hao();
a .showall();
a .tichu();
}