例题5.2约瑟夫问题No.2

//用queue来做,还可以用结构体做
//每次循环都使报数为1的小孩永远位于队列头
#include <iostream>
#include <queue>
using namespace std;

int main()
{
queue<int> ysf;
int n,p,m;
cin>>n>>p>>m;

for(int i=1;i<=n;i++)
{
ysf.push(i);
}

for(int i=1;i<p;i++)
{
ysf.pop();
ysf.push(i);
}

while(!ysf.empty())
{
for(int i=1;i<m;i++)
{
int x=ysf.front();
ysf.pop();
ysf.push(x);
}
int y=ysf.front();
if(ysf.size()!=1)
{
cout<<y<<&quot;,&quot;;
}
else
cout<<y;
ysf.pop();
}

return 0;
}
全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务