随手小代码——约瑟夫出圈问题/约瑟夫环
还是自己写的靠得住。
/*约瑟夫出圈问题给定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;}