static void Main(string[] args)
{
//保存移走的人的个数
int RemoveCount = 0;
//保存每个人读出的数字
int ReadCount = 0;
int[] personNum = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
while (true)
{
for (int i = 0; i < personNum.Length; i++)
{
//表示没有移除的数据
if (personNum[i] != -1)
{
//数字加1
ReadCount++;
if (ReadCount % 3 == 0)
{
//设置为移除-1
Console.WriteLine(personNum[i]+"号移除");
personNum[i] = -1;
//移除的个数
RemoveCount++;
if (RemoveCount >= 16)
{
break;
}
}
}
}
if (RemoveCount >= 16)
{
break;
}
}
//最后输出一个数字
for (int i = 0; i < personNum.Length; i++)
{
if (personNum[i] != -1)
{
Console.WriteLine("最后一个人原来的编号是"+personNum[i]);
break;
}
}
}