约瑟夫环问题 大佬帮忙看看哪里有问题
  • 板块学术版
  • 楼主xuchenjie
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/4/21 17:46
  • 上次更新2023/10/23 17:54:37
查看原帖
约瑟夫环问题 大佬帮忙看看哪里有问题
856537
xuchenjie楼主2023/4/21 17:46
#include<bits/stdc++.h>
using namespace std;
int m;
int o_o(int n)
{
	bool f[n+1]={0};
	int s=0,op1;
	for(;;)
	{
		for(int j=1;;j++)
		{
			if(f[s]==0)s++;
			if(s==m)
			{
				f[j]=1;
				s=s-m+1;
				for(int k=1;k<=n;k++)
				{
					if(f[k]==0&&op1==1)return k;
					if(f[k]==0&&op1==0)op1=1;
				}
			}
		}
	}
}
int main()
{
	int n;
	cin>>n>>m;
	cout<<o_o(n);
}

n是人数,m是隔的人数

10 3

答案应该是4,本代码中是1

麻烦看一下

2023/4/21 17:46
加载中...