题目
思路
很经典。
考虑单独考虑每个灯泡。
当前灯泡状态改变的次数就是它约数的个数。
只有约数个数为奇数时,灯泡最终才能亮。
而只有完全平方数的约数个数为奇数
那么
[
1
,
n
]
[1,n]
[1,n] 中完全平方数个数为
n
\sqrt{n}
n
。
代码
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n;
int main()
{
scanf("%d",&n);
printf("%d",int(sqrt(n)));
return 0;
}