#include<iostream>
using namespace std;
int main()
{
int i,n,m;
cin>>n>>m;
int a[100],*p;
p=a;
for(i=0;i<n;i++)
{
*(p+i)=i+1;
}
i=0;
int s=0,k=0; //s记为退出的人数
while(s<n-1) //一共n个人,最多(n-1)个人退出
{
if(*(p+i)!=0) //判断此人是否退出
{
k=k+1; //若没退出,报数
}
if(k==m)
{
*(p+i)=0; //报到m的人退出
s=s+1;
k=0; //报数清零
}
i=i+1;
if(i==n) //报完一整圈的时候,从头再来
{
i=0;
}
}
while(*p==0) //找到最后剩的的人
{
p=p+1;
}
cout<<*p<<endl;
}
版权声明:本文为shuyizhao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。