#include<stdio.h>
void main()
{
int i,c,k,p,m,n,a[100];
k=0;
a[0]=1;
scanf("%d%d",&m,&n);/*m为猴子总数,n为退出的序号*/
while(1)
{
p=0;
for(i=1;i<=m;i++)
{
if(a[0]<=m)
{
a[i]=1;
a[0]++;
}
if(a[i]==1)
{
k++;
p++;
c=i;
}
if(k%n==0)
a[i]=0;
}
if(p==1)
{
printf("winner is %d\n",c);
return;
}
}
}
请多指教!~
void main()
{
int i,c,k,p,m,n,a[100];
k=0;
a[0]=1;
scanf("%d%d",&m,&n);/*m为猴子总数,n为退出的序号*/
while(1)
{
p=0;
for(i=1;i<=m;i++)
{
if(a[0]<=m)
{
a[i]=1;
a[0]++;
}
if(a[i]==1)
{
k++;
p++;
c=i;
}
if(k%n==0)
a[i]=0;
}
if(p==1)
{
printf("winner is %d\n",c);
return;
}
}
}
请多指教!~
[此贴子已经被作者于2007-4-26 9:56:27编辑过]