#include<iostream>
using namespace std;
int main()
{
//counter 为计数变量,number为参加人数,key为密码,off—number为退出人数
int counter=0,number=0,key=0,off_number=0;
int num [100];
int *p=num;
int i;
cout<<"Enter the number of person and the key:"<<endl;
cin>>number>>key;
for (i=0; i<number; ++i)
{
*(p+i)=i+1; //给玩家编号
}
i = 0;
while (number-off_number>1) //当人数只剩一人之前,进行循环
{
if (*(p+i)!=0)
counter++;
if (counter==key)
{
cout<<*(p+i)<<endl;
*(p+i)=0;
counter = 0;
off_number++;
}
i++;
if (number==i)
i = 0;
}
while (*p==0)
p++;
cout<<"The last one is "<<*p<<endl;
return 0;
}
不使用循环链表,约瑟夫环
最新推荐文章于 2023-12-17 01:45:00 发布