1.问题描述
约瑟夫环问题的基本描述如下:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,要求找到最后一个出列的人或者模拟这个过程。
#include<iostream>
using namespace std;
int main()
{
int n,m,k,ans=0;
cin>>n>>k>>m;
for(int i = 2; i <= n; i++)ans = (ans + m) % i;
cout<<(ans+k)%n<<endl;
}
来源:CSDN
作者:咖喱东东
链接:https://blog.csdn.net/qq_39410381/article/details/103650806