首页 > 代码库 > 华为机试—约瑟夫环
华为机试—约瑟夫环
输入人数n,开始位置s ,间隔数多少个m,输出出局序列
#include <iostream> #include <vector> using namespace std; void Out(int n,int s,int m) { vector<int> people; for (int i=1;i<=n;i++) { people.push_back(i); } int start = s-1; int tmp =1; int out; while (tmp <= n) { out=(start-1+m)%people.size(); cout<<""<<tmp++<<"::"<<people[out]<<endl; people.erase(people.begin()+out); start=out; } } int main() { //n人数,s开始,m数多少个 int n,s,m; cin>>n>>s>>m; Out(n,s,m); return 0; }
测试结果,可能想的不周全,欢迎查漏补缺:
华为机试—约瑟夫环
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。