我正在尝试解决一个问题,如果你输入一个名字:Eve有三个字母,所以程序将消除那个字母的倍数的追求者。如果倍数超过向量的大小,则它将从第一个索引返回,依此类推。为字符串做了一个cin因为我只需要第一个名字 输入后程序退出。试图评论最后一个循环,它工作正常,但这是主要部分。感谢您的帮助,提前谢谢。
#include<iostream>
#include<vector>
#include<stdlib.h>
using namespace std;
int main()
{
int nos,n; string name;
cout<<"Enter Number of Suitors: "<<endl;
cin>>nos;
cout<<"Enter Your First Name: "<<endl;
cin>>name;
n=name.size();
vector<int>suit(nos);
for(int i=0;i<nos;i++)
suit[i] = i+1;
for(int i=0;i<nos;i++)
cout<<suit[i]<<" ";
for(n=n-1;(suit.size()!=1);n+=n)
{
n = n%nos;
suit.erase(suit.begin(),suit.begin()+n);
}
cout<<suit.front();
system("pause");
return 0;
}//close main