约瑟夫环问题
来源:互联网 发布:数据分析 考研专业 编辑:程序博客网 时间:2024/04/28 16:29
题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m 个数字(第一个
为当前数字本身,第二个为当前数字的下一个数字) 。 当一个数字删除后,从被删除数字的下一个继续删除
为当前数字本身,第二个为当前数字的下一个数字) 。 当一个数字删除后,从被删除数字的下一个继续删除
第 m 个数字。求出在这个圆圈中剩下的最后一个数字
思路:这就是约瑟夫环问题,使用STL中的list来解决,是最基础的解决办法
int Joseph(list<int>& ring,int k){list<int>::iterator itr = ring.begin(),temp;int m;while(ring.size() >1){m =1;if(itr == ring.end())itr = ring.begin();while(m <k){if(itr == ring.end())itr =ring.begin();itr++;m++;if(itr == ring.end())itr =ring.begin();}temp = itr;itr++;ring.erase(temp);}itr = ring.begin();return *itr;}
1 1
- 约瑟夫问题、约瑟夫环
- Josephus约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题(Josephus)
- 约瑟夫环问题--java
- 约瑟夫环问题 Josephus
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 求解约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 通知中心和代理
- 第八周项目一 复数类拓展之复数与double型数据的运算
- 第八周上机项目3分数类中的运算符重载
- 第八周项目一-实现复数类的运算符重载(1)
- 树的前序、中序、后序遍历
- 约瑟夫环问题
- 微信绑定用户
- 虚拟线圈
- 管道方式收不到数据(ReadBytes返回的数组为null)的一种原因
- Netduino PLUS2学习
- 第八周项目:实现复数类中的运算符重载(2)
- C++中的指针与引用
- 恢复rm -rf * 的数据
- Swift学习笔记_1