プログラマ脳を鍛える数学パズル Q3

ものすごく頭が悪いので、まじめにときはじめます。

private bool[] Cards = new Boolean[100];

public void action()
{
for (int i = 2; i < Cards.Length; i++)
{
int skip_num = i - 1;
for (int j = i; j < Cards.Length;)
{
Cards[j] = !Cards[j];
j += skip_num;
}
}

for (int i = 0;i < Cards.Length;i++)
{
if (!Cards[i])
{
Console.Write(i+1);
}
}
}