关灯

问题描述

有n盏灯(1<=n<=5000),编号为1、2、……、n,同时有n个人,依次对灯进行操作。开始时,所有的灯都是关闭状态:
第1个人的操作:将所有灯打开;
第2个人的操作:将2及2的倍数的灯,状态取反(即“开”状态变为“关”状态,“关”状态变为“开”状态);
第3个人的操作:将3及3倍数的灯状态取反;
……
第i个人的操作:将i及i倍数的灯状态取反(1<=i<=n)。
当所有操作完成之后,计算出所有开状态灯的编号之和。
例如,n=6,0表示关状态,1表示开状态:
开始:000000
第1人操作之后,变成:111111
第2人操作之后,变成:101010
第3人操作之后,变成:100011
第4人操作之后,变成:100111
第5人操作之后,变成:100101
第6人操作之后,变成:100100
则所有开状态灯的编号之和为:1+4=5。

输入

一个整数,表示n。

输出

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

输入

3

输出

1

信息

ID
1060
难度
6
分类
(无)
标签
(无)
递交数
17
已通过
9
通过率
53%
上传者