问题描述:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
#include<stdio.h>
int main()
{ int n;int flag=0;
scanf("%d",&n);
int a[n];
int count=n;
for(int i=0;i<n;i++)
a[i]=1;
for(int i=0;;i++)
{if(i==n)
i=0;
if(a[i]!=0)
flag++;
else continue;
if(flag==3)
{
flag=0;
a[i]=0;
count--;
}
if(count==0)
{printf("%d",i+1u);
break;}
}
}