#include<iostream>
using namespace std;
int main(){
int n,m,kick=0,num=0,count=0;
cin>>n>>m;
int live[100];
for(int i=0;i<100;i++) live[i]=1;
do{
num++;
if(num>n) num=1;
if(live[num-1]) count++;
if(count==m){
cout<<num<<",";
live[num-1]=0;
count=0;
kick++;
}
}while(kick!=n-1);
cout<<endl;
for(int i=0;i<n;i++){
if(live[i]==1){
cout<<"胜者为"<<i+1;
break;
}
}
return 0;
}
想了蛮久,还是比较有趣的。
通过环形数组,已经计数,报数之类的方法,来计算踢人之类的,然后用一个【存在】数组来看人是否还在场。