Problem1044--关灯

1044: 关灯

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 93  Solved: 9
[Status] [Submit] [Creator:]

Description



n个灯(1n1000000000),编号为12,……n,同时有n个人,依次对灯进行操作。

开始时,所有灯是关闭状态。

   1人操作:将所有灯打开

   2人操作:将22的倍数的灯,状态取反,即开状态变为关状态,其状态变为开状态。

   3人操作:将33倍数的灯状态取反。

   ……

   i人操作:将ii的倍数的灯状态取反(1in),当所有操作完成之后,计算出所有开状态灯的编号之和。

例如:n=60—关状态,1—开状态

  开始  0 0 0 0 0 0

  1人操作之后:变成 1 1 1 1 1 1

  2人操作之后:变成 1 0 1 0 1 0

  3人操作之后:变成 1 0 0 0 1 1

  4人操作之后:变成 1 0 0 1 1 1

  5人操作之后:变成 1 0 0 1 0 1

  6人操作之后:变成 1 0 0 1 0 0

所有开状态灯编号之和为 1+4=5

  输入:n 一个整数

  输出:一个整数,即操作后所有开状态的灯编号之和。

  例如:输入  3

        输出  1

Source/Category