问题描述:有n个人 从第s个人开始报数 报数m的人被枪杀 按被枪杀的顺序输出序号;
代码:
#include<iostream>
using namespace std;
int main()
{
int n,m,s;
cin>>n>>m>>s;
int b[n];
for(int i=0;i<n;i++)
b[i]=1;//将每个人初始标记为1;
int renshu=n,sum=0;
for(int i=s;;i=(i+1)%n)
{
if(b[i]==1)sum++;//活着就报数;
if(b[i]==0)continue;//否则跳到下一个人;
if(sum==m)
{
b[i]=0;
cout<<i<<" ";
renshu--;
sum=0;
}
if(renshu==0)break;//已无活人;
}
return 0;
}