#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>#define MaxSize 10using namespace std;void josephus(int n,int m)//一共n个人数到m的出列
{int p[MaxSize];int i,j,t;for(i=0;i<n;i++){p[i]=i+1;//构建初始序列(1,2,3,4.....) } t=0;//首次报数起始位置cout<<"出列顺序:";for(i=n;i>=1;i--){//i为每次循环还剩下的人数 t=(t+m-1)%i;cout<<p[t];for(j=t+1;j<=i-1;j++){p[j-1]=p[j];}} } int main(){cout<<"约瑟夫问题求解"<<endl;cout<<"请输入元素个数:";int n;cin>>n;cout<<"请输入第一个出圈位置:";int m;cin>>m; josephus(n,m);
}