static void Main(string[] args)
{
List<int> people = Enumerable.Range(1, 6).ToList();
int order = 0;
int index = 0;
int k = 0;
while (people.Count > 2)
{
order++;
if (order % 3 == 0)
{
people.RemoveAt(index);
order = 0;
k++;
}
else
{
if ((people.Count - k - 1) == 0)
{
index++;
}
else
{
if (index > people.Count - k - 1)
{
index = 0;
}
else
{
index++;
}
}
}
}
for (int i = 0; i < people.Count; i++)
{
Console.Write(people[i]);
Console.Write("、");
}
Console.ReadKey();
}
约瑟夫问题
最新推荐文章于 2020-11-15 16:13:04 发布