#include <iostream>
using namespace std;
const int K=202;
int a[K]={0};//在主函数外定义数组,节省主函数内存
int main()
{
int n{},k{},m{};
cin>>n>>k>>m;//输入题设变量
int k1=k,n1=n;//习惯性另设变量,不影响结果
int cnt{};//计数器
while(n1>1)//当剩余人数大于1时循环
{
if(a[k1]==0)//判断当前位置是否被移除
{
cnt++;//如果没被移除,计数器加加
}
if(cnt==m)//计数器加至m以后
{
cnt=0;//计数器清零
a[k1]=1;//标记移除该位
n1--;//人数减一
}
k1=(k1+1)%n;//取模循环,其中原理可以思考一下或者问ai
}
for(int j=0;j<n;j++)//遍历数组,输出没被剔除的那个人
{
if(a[j]==0)
cout<<j;
}
return 0;
}

京公网安备 11010502036488号