约瑟夫(Josephus)问题
2012-03-07 00:00
246 查看
//约瑟夫(Josephus)问题:有15个人排成一圈,并给他们1~15的编号。现在从1号开始报数,报数字4的人退出
//队列,余下的人从退出者下一个位置开始继续刚才的报数,直到整个队列只剩下一个人为止。请问这个人是几
//号?
//单向循环链表类的实现我会尽快发布
//本题的解决方法见左飞的教材;p169
#include"CirList.h"
#include<iostream>
using namespace std;
void main(){
CirList<int>jos;
for(int i=1;i<16;i++)
{
jos.AddTail(i);
}
jos.SetBegin();
int length=jos.GetCount();
for(int i=1;i<length;i++)
{
for(int j=0;j<3;j++)
jos.GetNext();
jos.RemoveThis();
}
cout<<jos.GetNext()<<endl;
}
//队列,余下的人从退出者下一个位置开始继续刚才的报数,直到整个队列只剩下一个人为止。请问这个人是几
//号?
//单向循环链表类的实现我会尽快发布
//本题的解决方法见左飞的教材;p169
#include"CirList.h"
#include<iostream>
using namespace std;
void main(){
CirList<int>jos;
for(int i=1;i<16;i++)
{
jos.AddTail(i);
}
jos.SetBegin();
int length=jos.GetCount();
for(int i=1;i<length;i++)
{
for(int j=0;j<3;j++)
jos.GetNext();
jos.RemoveThis();
}
cout<<jos.GetNext()<<endl;
}
相关文章推荐
- 约瑟夫问题Josephus problem
- 约瑟夫问题(Josephus problem)1:出列的序列
- 约瑟夫问题(Josephus problem)的一点思考
- 约瑟夫(Josephus)问题的实现
- Josephus(约瑟夫)环问题的数学方法,使用递推公式。
- 【待解惑问题(已解决)】约瑟夫(Josephus)环问题
- 约瑟夫(Josephus)问题的实现
- josephus(约瑟夫)问题
- Josephus(约瑟夫)问题----分别用循环链表和数组实现
- Josephus问题(约瑟夫问题)链表的实现
- 3.java类特征(Josephus约瑟夫问题)
- 约瑟夫(Josephus)问题
- 约瑟夫(Josephus)问题
- 约瑟夫问题(Josephus)链表实现
- 约瑟夫问题(Josephus)
- 约瑟夫问题(Josephus Problem)
- Josephus 约瑟夫 问题
- 约瑟夫问题(Josephus Problem)的两种快速递归算法
- josephus problem——约瑟夫问题