#include<iostream>
#include<list>
#include<cstdlib>
using namespace std;
int main(int argc, char* argv[])
{
int all;
printf("请输入总人数:");
cin>>all;
int num;
printf("请输入消去的编号:");
cin>>num;
if(all<num || num<1 || all<1)
{
printf("输入错误!");
system("paused");
}
list<int>* table=new list<int>();
for(int i=1; i<=all; ++i)
{
table->push_back(i);
}
int shout=1;
for(list<int>::iterator it=table->begin(); table->size()!=1;)
{
if(shout++==num)
{
it=table->erase(it);
shout=1;
}
else
{
++it;
}
if(it==table->end())
{
it=table->begin();
}
}
printf("幸存者编号为:%d",*table->begin());
system("pause");
return 0;
}