题目描述
有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
输入
初始人数n
输出
最后一人的初始编号
代码:
int main()
{
int n;
scanf("%d",&n);
int a[n],i,book=0,cnt=n;//cnt为剩下的人数。
for(i=0;i<n;i++)
a[i]=1;
i=0;
while(cnt>1)
{
if(a[i]==1)
book++;
if(book==3)
{
a[i]=0;
cnt--;
book=0;
}
i++;
i%=n;
}
i=0;
while(a[i]==0)
i++;
printf("%d",i+1);
return 0;
}
在这里插入代码片