还是自己写的靠得住。
/*
约瑟夫出圈问题
给定m、n两个数,从1到n循环的数,每m的倍数时输出当前的数,直到所有的都输出为止。
*/
#include <iostream>
using namespace std;
int main(int argc,char* argv[])
{
int nM,nN;
cout<<"input m"<<endl;
cin>>nM;
cout<<"input n"<<endl;
cin>>nN;
cout<<endl;
int *pN=new int[nN+1];
for (int i=0;i<=nN;i++)
{
pN[i]=i;
}
int nCount=nN;
for (int i=1,j=0;nCount!=0;)
{
if (pN[i]!=0)
{
j++;
if (j%nM==0)
{
j=0;
cout<<pN[i]<<endl;
pN[i]=0;
nCount--;
}
}
i++;
if (i%(nN+1)==0)
{
i=1;
}
}
cout<<endl;
return 0;
}