There is man named ”mabu” for switching on-off light in our University. He switches on-off the lightsin a corridor. Every bulb has its own toggle switch. That is, if it is pressed then the bulb turns on.Another press will turn it off. To save power consumption (or may be he is mad or something else)he does a peculiar thing. If in a corridor there is n bulbs, he walks along the corridor back and forthn times and in i-th walk he toggles only the switches whose serial is divisable by i. He does not pressany switch when coming back to his initial position. A i-th walk is defined as going down the corridor(while doing the peculiar thing) and coming back again. Now you have to determine what is the finalcondition of the last bulb. Is it on or off?
Input
The input will be an integer indicating the n’th bulb in a corridor. Which is less then or equals 2^32 −1. A zero indicates the end of input. You should not process this input.
Output
Output ‘yes’ if the light is on otherwise ‘no’, in a single line.
Sample Input
3624181910
Sample Output
no
yes
no
问题链接:UVA10110 Light, more light
问题简述:(略)
问题分析:
一个数学问题。
因为只有完全方数的因子是奇数个,当输入数为完全平方数才能使灯开着。
程序说明:(略)
题记:(略)
参考链接:(略)
AC的C++语言程序如下:
/* UVA10110 Light, more light */
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n, m;
while(scanf("%lld", &n) && n) {
m = (long long)sqrt(n);
printf("%s\n", m * m == n ? "yes" : "no");
}
return 0;
}