有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,用指针怎么写,核心的算法有点想不明白

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 10:07:33
有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,用指针怎么写,核心的算法有点想不明白有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报

有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,用指针怎么写,核心的算法有点想不明白
有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,
用指针怎么写,核心的算法有点想不明白

有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,用指针怎么写,核心的算法有点想不明白
int a[N]={1};
int i=0,t=N,j=0;
while(t==1) //如果还剩下一个人,跳出循环
{
if(i==N) //这里是头尾衔接成一个圈
i=0;
if(a[i]!=0) //这里是计数报数
j++;
if(j==2) //这里是出圈子的人
{
a[i]=0;
j=0;
t--;
}
i++;
}
for(i=0;i