2. 設計一分區停電程式
while (true)
{
Console.Write("N=");
int N = int.Parse(Console.ReadLine());
var c = new List<int>();
for (int i = 1; i <= N; i++)
c.Add(i);
int M = 1;
while (true)
{
var list = new List<int>(c);
var newList = new List<int>();
newList.Add(list[0]);
list.RemoveAt(0);
int k = 1;
int i = -1;
while (list.Count != 0)
{
i++;
i %= list.Count;
if (k == M)
{
newList.Add(list[i]);
list.RemoveAt(i);
k = 1;
i--;
}
else k++;
}
//Console.WriteLine("M=" + string.Join(" ", newList));
if (newList.Last() == 13)
{
Console.WriteLine("M=" + M);
break;
}
M++;
}
}Last updated