Description
n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。
Input
输入n和m值。
Output
输出胜利者的编号。
Sample Input
5 3
Sample Output
4
HINT
第一轮:3被杀
第二轮:1被杀
第三轮:5被杀
第四轮:2被杀
#include <iostream>
using namespace std;
int main()
{
int *p,a[100],i,n,x,number,j,m;
number=x=j=0;
cin>>n;
cin>>m;
p=a;
for(i=0;i<n;i++)
*(p+i)=i+1;
while(x<n-1)
{
if(*(p+j)!=0)
number++;
if(number==m)
{
*(p+j)=0;
x++;
number=0;
}
j++;
if(j==n)
j=0;
}
for(p=a;p<a+n;p++)
{ if(*p!=0)
cout<<*p;}
return 0;
}