您的位置:首页 > 编程语言

随手小代码——约瑟夫出圈问题/约瑟夫环

2013-10-11 17:59 141 查看
还是自己写的靠得住。

/*
约瑟夫出圈问题
给定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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: