Light, more light
Time Limit: 3000ms
Memory Limit: 131072KB
This problem will be judged on
UVA. Original ID:
10110
64-bit integer IO format: %lld Java class name: Main
| Light, more light |
The Problem
There is man named "mabu" for switching on-off light in our University. He switches on-off the lights in 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 forth `n' times and in i'th walk he toggles only the switches whose serial is divisable by i. He does not press any 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 final condition of the last bulb. Is it on or off?
The 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.The Output
Output " yes" if the light is on otherwise " no" , in a single line.Sample Input
3 6241 8191 0
Sample Output
no yes no
AC代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
while(cin>>n,n)
{
int x=sqrt(n*1.0);
if(x*x==n)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return 0;
}

本文探讨了一个有趣的数学问题,即“灯泡开关谜题”。在这个问题中,一位名为'mabu'的人负责在一个走廊里切换一系列灯泡的开关状态。通过对每个灯泡进行特定次数的切换操作,最终确定最后一个灯泡的开关状态。文章提供了一种巧妙的方法来解决这个问题,并给出了具体的代码实现。
2428

被折叠的 条评论
为什么被折叠?



