题目:n个人围一圈,1,2,3报数,数到3的滚蛋,问剩下几个人都是谁
#include
<
stdio.h
>
#include < vector >
using namespace std;
void CheckTree(vector < int >& avecValue, int aiOffset)
... {
int liCount = aiOffset;
for(vector<int>::iterator it=avecValue.begin();
it!=avecValue.end();
it++)
...{
liCount++;
if(liCount%3 == 0)
...{
it = avecValue.erase(it);
liCount++;
}
if(it==avecValue.end()) break;
}
int liSum = avecValue.size();
if(liSum>=3) CheckTree(avecValue,liCount%3);
}
void main()
... {
vector<int> lvecMan;
for(int i=0;i<100;i++)
lvecMan.push_back(i+1);
CheckTree(lvecMan,0);
for(vector<int>::iterator it=lvecMan.begin();it!=lvecMan.end();it++)
...{
printf("%d ",*it);
}
}
#include < vector >
using namespace std;
void CheckTree(vector < int >& avecValue, int aiOffset)
... {
int liCount = aiOffset;
for(vector<int>::iterator it=avecValue.begin();
it!=avecValue.end();
it++)
...{
liCount++;
if(liCount%3 == 0)
...{
it = avecValue.erase(it);
liCount++;
}
if(it==avecValue.end()) break;
}
int liSum = avecValue.size();
if(liSum>=3) CheckTree(avecValue,liCount%3);
}
void main()
... {
vector<int> lvecMan;
for(int i=0;i<100;i++)
lvecMan.push_back(i+1);
CheckTree(lvecMan,0);
for(vector<int>::iterator it=lvecMan.begin();it!=lvecMan.end();it++)
...{
printf("%d ",*it);
}
}