给出0-n个数,每次丢弃奇数位的数字,只到剩下一个数字,求最后丢弃的数字和最后剩下的数字(两个问题都有,就写一块了)
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n;
cin>>n;
int result;
vector<int> numList;
for (int i=0;i<=n;i++)
{
numList.push_back(i);
}
while (numList.size()>1)
{
int len=numList.size();
for (int i=0;i<numList.size();i++)
{
result=numList[i];
numList.erase(numList.begin()+i);
}
}
cout<<"last delete"<<result<<endl;
cout<<"last left"<<numList[0]<<endl;
}
输出结果: