#include<iostream>
#include<ctime>
#include<vector>
using namespace std;
int main()
{
srand(time(0));
vector<int>v1;
int n;
cout << "请输入有几个人:";
cin >> n;
int m = 0;
for (int i = 1; i <= n; i++) //为容器中每一个成员编号
{
v1.push_back(i);
}
int num = (rand() % n + 0) + 1; //生成(a,b]之间的随机数:((rand()%(b-a)) +a )+ 1
cout << "随机数是: " << num << endl;
while (v1.size()!=1)
{
m = (m + num + 1) % n;
v1.erase(v1.begin() + m );
}
if (v1.size() == 1)
{
cout << "最后一个成员是:" << v1[0] << endl;
}
return 0;
}
想通过直接找到每次删除的成员与各个变量表达式来直接计算得出结果,但一直没找到