約瑟夫(Josephus)問題

//約瑟夫(Josephus)問題:有15我的排成一圈,並給他們1~15的編號。如今從1號開始報數,報數字4的人退出
//隊列,餘下的人從退出者下一個位置開始繼續剛纔的報數,直到整個隊列只剩下一我的爲止。請問這我的是幾
//號?
//單向循環鏈表類的實現我會盡快發佈
//本題的解決方法見左飛的教材;p169ios

#include"CirList.h"
#include<iostream>
using namespace std;
void main(){
 CirList<int>jos;spa

 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;
}隊列

相關文章
相關標籤/搜索