C++ 代码优化:Josephus 问题解法分析与修正
#include cpp\n#include <iostream>\n#include <vector>\nusing namespace std;\nint main(){\n\t int n,k;\n\t cin>>n>>k;\n\t vector<int> people(n);\n\t vector<int> res;\n\t int count=0;\n\t int index=0;\n\t for(int i=0;i<n;i++){\n\t\t people[i]=i+1;\n\t }\n\t while(!people.empty()){\n\t\t count++;\n\t\t index=(index+1)%people.size();\n\t\t if(count==k){\n\t\t\t res.push_back(people[index]);\n\t\t\t people.erase(people.begin()+index);\n\t\t\t count=0;\n\t\t\t index--;\n\t\t }\n\n\t }\n\t for(int i=0;i<res.size();i++){\n\t\t cout<<res[i]<<" ";\n\t }\n\t cout<< endl;\n\t return 0;\n}\n
原文地址: https://www.cveoy.top/t/topic/pzwW 著作权归作者所有。请勿转载和采集!