上班闲来之余,看到csdn押宝游戏,自己也娱乐一下,没事挣点积分。游戏说明:对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关……问:最后为关熄状态的灯有多少盏?
× A: 5盏
× B: 8盏
√ C: 10盏
× D: 12盏
private int TheNumOfOffLight()
{
bool []light=new bool[100];
int lightnum = 0;
for (int m = 0; m < 100; m++)
{
light[m]=true;
}
for (int i = 1; i <= 100; i++)
{
for (int j = 0; j < 100; j++)
{
if ((j+1)%i==0)
light[j]=!light[j];
}
}
for (int m = 0; m < 100; m++)
{
if (!light[m]) lightnum++;
}
Console.WriteLine(lightnum.ToString());
return lightnum;
}
× A: 5盏
× B: 8盏
√ C: 10盏
× D: 12盏
private int TheNumOfOffLight()
{
bool []light=new bool[100];
int lightnum = 0;
for (int m = 0; m < 100; m++)
{
light[m]=true;
}
for (int i = 1; i <= 100; i++)
{
for (int j = 0; j < 100; j++)
{
if ((j+1)%i==0)
light[j]=!light[j];
}
}
for (int m = 0; m < 100; m++)
{
if (!light[m]) lightnum++;
}
Console.WriteLine(lightnum.ToString());
return lightnum;
}
{
for (int j = 0; j < 100; j++)
{
if ((j+1)%i==0)1/1
2/1,2/2
3/1,3/2,3/3
4/1,4/2,4/3,4/4其实这道题目就是求从1~100的各个数的因子个数