n个人做成一圈,分别编号为1.2.3……n,从第m个开始逐一报数,数到x的退出,下一个人又从1开始

2025-03-01 22:12:22
推荐回答(2个)
回答1:

#include
int e[999],i,j,k,l,m,n,x;
int main()
{
scanf("%d%d%d",&n,&m,&x);
for(i=1;i<=n;i++)e[i]=1;
l=n;
while(l)
{
k=x;
for(i=m;k;i=(i==n?1:i+1))
{
if(e[i])k--;
if(!k)break;
}
e[i]=0;l--;m=1;
printf("%d\n",i);
}
}

回答2:

#includeintfun(intn,int*p){intarr1[10000]={0};inti,j;intt1,t2;for(i=0;i